<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Argonaut Constellation</title>
<style>
@import url(https://haphaestus.org/fonts/genos-thin/genos-thin.css);
@import url(https://haphaestus.org/fonts/ubuntu/ubuntu.css);
h1, h2, h3, h4, h5, h6, dt {font-family: Genos, sans-serif;}
body {
text-align: center;
font-family: Ubuntu, sans-serif;
color: #111;
background: white;
}
main {
display: flex;
flex-wrap: wrap;
}
section {
flex: 1;
margin: 15px;
min-width: 40ch;
}
figure {
text-align: left;
margin: 10px;
border-bottom: thin dashed lightgray;
}
figure img {float: left;}
@media (prefers-color-scheme: dark) {
body {
background: black;
color: #eee;
}
:link {color: #99f;}
:visited {color: #c0c;}
}
</style>
</head>
<body>
<h1>The Argonaut Constellation</h1>
<nav><a href="blog">Blog</a></nav>
<p>The <em>Argonaut Constellation</em> refers to a range of software projects aiming
to illustrate the potential for a more private JavaScript-free web to work
better for anyone on any conceivable device.</p>
<main>
<section>
<h2>Argonaut Suite</h2>
<p>The "Argonaut Suite" refers to browsers, browser-engines, & the like
targetting different mediums.</p>
<figure>
<img src="rhapsode.png" alt="Purple & pink bat hugging the globe whilst
emitting a blue sonar signal." />
<h3><a href="https://www.rhapsode-web.org/">Rhapsode</a></h3>
<p>Auditory browser</p>
</figure>
<figure>
<h3><a href="https://www.rhapsode-web.org/amphiarao">Amphiarao</a></h3>
<p>Webpage debugger</p>
<p>Compatible with Selenium or any browser supporting webforms.</p>
</figure>
<figure>
<h3><a href="https://haphaestus.org/">Haphaestus</a></h3>
<p>Visual browser designed for use with TV remotes. (in-progress)</p>
</figure>
</section>
<section>
<h2>Argonaut Stack</h2>
<p>The "Argonaut Stack" refers to reusable
<a href="https://haskell.org/">Haskell</a> modules implementing
the different tasks required to render a webpage.</p>
<figure>
<h3><a href="https://hackage.haskell.org/package/hurl">HURL</a></h3>
<p>Haskell URL resolver</p>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/stylist">Haskell Stylist</a></h3>
<p>CSS styling engine</p>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/harfbuzz-pure">Harfbuzz-Pure</a></h3>
<p><a href="https://harfbuzz.github.io/">Harfbuzz</a> language-bindings; text-shaping</p>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/fontconfig-pure">FontConfig-Pure</a></h3>
<p><a href="https://www.freedesktop.org/wiki/Software/fontconfig/">FontConfig</a> language bindings; fontfile lookup</p>
</figure>
<p><em>More to come!</em></p>
<h3>Adopted</h3>
<figure>
<h4><a href="https://hackage.haskell.org/package/typograffiti">Typograffiti</a></h3>
<p>Text rendering</p>
</figure>
<h3>In-Progress</h3>
<figure>
<h4><a href="https://git.argonaut-constellation.org/~alcinnz/CatTrap">CatTrap</a></h3>
<p>CSS Box Model block layout engine</p>
</figure>
<figure>
<h4><a href="https://git.argonaut-constellation.org/~jaro/balkon">Balkón</a></h3>
<p>Text layout</p>
</figure>
</section>
<section>
<h2>Friends</h2>
<p>These are <em>some</em> 3rd party projects we make heavy use of! <br />
Thank you!</p>
<figure>
<img src="haskell.png"
alt="Purple '>>=' operator combined with a lambda character." />
<h3><a href="https://haskell.org/">Haskell</a></h3>
<p>Pure-functional programming language</p>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/text">Text</a></h3>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/bytestring">ByteString</a></h3>
</figure>
<hr />
<figure>
<h3><a href="https://hackage.haskell.org/package/network-uri">Network URI</a></h3>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/http-client-tls">
http-client-tls</a></h3>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/xml-conduit">XML Conduit</a></h3>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/css-syntax">Haskell CSS Syntax
</a></h3>
</figure>
<hr />
<figure>
<img src="espeak.png" alt="red-coloured lips forming an open mouth,
labeled beneath as 'eSpeak'." />
<h3><a href="https://github.com/espeak-ng/espeak-ng">eSpeak NG</a></h3>
<p>Text-to-speech</p>
</figure>
<figure>
<img src="voice2json.png" alt="Green curly brackets, pipes, & colon characters
sized to resemble a sinasoidal soundwave." />
<h3><a href="https://voice2json.org/">Voice2JSON</a></h3>
<p>Speech-to-text + intent parsing</p>
</figure>
<hr />
<figure>
<h3><a href="https://fontconfig.org/">FontConfig</a></h3>
<p>Selects system or app fontfiles</p>
</figure>
<figure>
<img src="HarfBuzz.png" alt="The name 'Harfbuzz' written in Persian." />
<h3><a href="https://harfbuzz.github.io/">Harfbuzz</a></h3>
<p>Selects "glyphs" from a font to represent the text</p>
<p>Crucial for internationalized text rendering</p>
</figure>
<figure>
<img src="freetype.png" alt="The words 'the FreeType Project' with a
blue calligraphic background." />
<h3><a href="https://freetype.org/">FreeType</a></h3>
<p>Parses, queries, & rasterizes fontfiles</p>
</figure>
<hr />
<figure>
<img src="JuicyPixels.png" alt="a pixelated cartoon orange with green leaf." />
<h3><a href="https://hackage.haskell.org/package/JuicyPixels">Juicy Pixels
</a></h3>
<p>Image loading/saving</p>
</figure>
<figure>
<h3><a href="https://hackage.haskell.org/package/rasterific-svg">
Rasterific SVG</a></h3>
<p>Renders SVG images</p>
</figure>
<p><em>And so much <strong>more</strong>!</em></p>
</section>
</main>
</body>
</html>