summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--css/style.css353
-rw-r--r--docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css8
-rw-r--r--docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css8
-rw-r--r--docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css4
-rw-r--r--docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css4
-rw-r--r--docs/archive/assets/nixtamal-logo-gmxzsw8388sf9paq05xws7an4hnl4nx0.svg26
-rw-r--r--docs/archive/changelog.html471
-rw-r--r--docs/archive/community.html118
-rw-r--r--docs/archive/cookbook.html127
-rw-r--r--docs/archive/cookbook_pinning-codeberg-inputs-in-nix.html153
-rw-r--r--docs/archive/cookbook_pinning-darcs-hub-inputs-using-htmlq.html133
-rw-r--r--docs/archive/cookbook_pinning-fossil-inputs-in-nix.html141
-rw-r--r--docs/archive/cookbook_pinning-gitlab-inputs-in-nix.html157
-rw-r--r--docs/archive/cookbook_pinning-inputs-with-mirrors-in-nix.html183
-rw-r--r--docs/archive/cookbook_pinning-microsoft-github-inputs-in-nix.html154
-rw-r--r--docs/archive/cookbook_setting-hash-algorithm-to-blake3-in-nix.html179
-rw-r--r--docs/archive/faqs.html469
-rw-r--r--docs/archive/funding.html107
-rw-r--r--docs/archive/index.html1109
-rw-r--r--docs/archive/install.html238
-rw-r--r--docs/archive/manpage.html119
-rw-r--r--docs/archive/manpage_nixtamal-manifest.5.html1361
-rw-r--r--docs/archive/manpage_nixtamal.1.html416
-rw-r--r--docs/archive/organized/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css8
-rw-r--r--docs/archive/organized/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css8
-rw-r--r--docs/archive/organized/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css4
-rw-r--r--docs/archive/organized/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css4
-rw-r--r--docs/archive/organized/assets/nixtamal-logo-gmxzsw8388sf9paq05xws7an4hnl4nx0.svg26
-rw-r--r--docs/archive/organized/changelog/changelog.md41
-rw-r--r--docs/archive/organized/community/community.md21
-rw-r--r--docs/archive/organized/cookbook/cookbook.md17
-rw-r--r--docs/archive/organized/cookbook/pinning-codeberg-inputs-in-nix/pinning-codeberg-inputs-in-nix.md23
-rw-r--r--docs/archive/organized/cookbook/pinning-darcs-hub-inputs-using-htmlq/pinning-darcs-hub-inputs-using-htmlq.md19
-rw-r--r--docs/archive/organized/cookbook/pinning-fossil-inputs-in-nix/pinning-fossil-inputs-in-nix.md19
-rw-r--r--docs/archive/organized/cookbook/pinning-gitlab-inputs-in-nix/pinning-gitlab-inputs-in-nix.md25
-rw-r--r--docs/archive/organized/cookbook/pinning-inputs-with-mirrors-in-nix/pinning-inputs-with-mirrors-in-nix.md17
-rw-r--r--docs/archive/organized/cookbook/pinning-microsoft-github-inputs-in-nix/pinning-microsoft-github-inputs-in-nix.md25
-rw-r--r--docs/archive/organized/cookbook/setting-hash-algorithm-to-blake3-in-nix/setting-hash-algorithm-to-blake3-in-nix.md23
-rw-r--r--docs/archive/organized/faqs/faqs.md135
-rw-r--r--docs/archive/organized/funding/funding.md17
-rw-r--r--docs/archive/organized/home/home.md19
-rw-r--r--docs/archive/organized/index.md56
-rw-r--r--docs/archive/organized/install/install.md19
-rw-r--r--docs/archive/organized/manpage/manpage.md19
-rw-r--r--docs/archive/organized/manpage/nixtamal-manifest.5/nixtamal-manifest.5.md269
-rw-r--r--docs/archive/organized/manpage/nixtamal.1/nixtamal.1.md55
-rw-r--r--docs/archive/organized/real-world-showcase/real-world-showcase.md17
-rw-r--r--docs/archive/organized/roadmap/roadmap.md17
-rw-r--r--docs/archive/real-world-showcase.html182
-rw-r--r--docs/archive/roadmap.html161
-rw-r--r--docs/archive/structure.json10285
-rw-r--r--docs/inventory.md43
-rw-r--r--docs/migration-mapping.md53
-rw-r--r--docs/plan.md140
-rw-r--r--docs/project-summary.md131
-rw-r--r--index.html186
-rw-r--r--js/parallax.js61
-rw-r--r--js/webgl-bg.js190
-rw-r--r--scripts/create_inventory.py178
-rw-r--r--scripts/organize_archive.py90
-rw-r--r--scripts/spider.py192
-rwxr-xr-xscripts/test.sh111
-rw-r--r--shaders/fragment.glsl16
-rw-r--r--shaders/vertex.glsl20
64 files changed, 18979 insertions, 1 deletions
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..cf0805c
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,353 @@
+/* CSS Custom Properties for Theming */
+:root {
+ --primary-color: #2563eb;
+ --secondary-color: #64748b;
+ --accent-color: #f59e0b;
+ --text-color: #1f2937;
+ --bg-color: #ffffff;
+ --bg-secondary: #f8fafc;
+ --border-color: #e2e8f0;
+ --shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ --font-size-base: 16px;
+ --line-height: 1.6;
+ --spacing-xs: 0.5rem;
+ --spacing-sm: 0.75rem;
+ --spacing-md: 1rem;
+ --spacing-lg: 1.5rem;
+ --spacing-xl: 2rem;
+ --max-width: 1200px;
+ --header-height: 60px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --text-color: #f1f5f9;
+ --bg-color: #0f172a;
+ --bg-secondary: #1e293b;
+ --border-color: #334155;
+ --shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
+ }
+}
+
+/* Reset and Base Styles */
+* {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+html {
+ scroll-behavior: smooth;
+}
+
+body {
+ font-family: var(--font-family);
+ font-size: var(--font-size-base);
+ line-height: var(--line-height);
+ color: var(--text-color);
+ background-color: var(--bg-color);
+}
+
+/* Typography */
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: var(--spacing-md);
+ font-weight: 600;
+}
+
+h1 { font-size: 2.5rem; }
+h2 { font-size: 2rem; }
+h3 { font-size: 1.5rem; }
+h4 { font-size: 1.25rem; }
+
+p {
+ margin-bottom: var(--spacing-md);
+}
+
+a {
+ color: var(--primary-color);
+ text-decoration: none;
+ transition: color 0.2s ease;
+}
+
+a:hover {
+ color: var(--accent-color);
+}
+
+code {
+ background-color: var(--bg-secondary);
+ padding: 0.125rem 0.25rem;
+ border-radius: 4px;
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
+ font-size: 0.875rem;
+}
+
+pre {
+ background-color: var(--bg-secondary);
+ padding: var(--spacing-md);
+ border-radius: 8px;
+ overflow-x: auto;
+ margin: var(--spacing-md) 0;
+}
+
+pre code {
+ background: none;
+ padding: 0;
+}
+
+.cta-button {
+ display: inline-block;
+ background-color: var(--primary-color);
+ color: white;
+ padding: var(--spacing-sm) var(--spacing-md);
+ border-radius: 6px;
+ font-weight: 600;
+ transition: background-color 0.2s ease;
+}
+
+.cta-button:hover {
+ background-color: #1d4ed8;
+}
+
+/* Layout */
+.container {
+ max-width: var(--max-width);
+ margin: 0 auto;
+ padding: 0 var(--spacing-md);
+}
+
+/* Header and Navigation */
+header {
+ position: sticky;
+ top: 0;
+ background-color: var(--bg-color);
+ border-bottom: 1px solid var(--border-color);
+ z-index: 100;
+ height: var(--header-height);
+}
+
+nav {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 100%;
+ padding: 0 var(--spacing-md);
+}
+
+.logo {
+ font-size: 1.5rem;
+ font-weight: bold;
+ color: var(--primary-color);
+}
+
+.nav-links {
+ display: flex;
+ list-style: none;
+ gap: var(--spacing-lg);
+}
+
+.nav-links a {
+ padding: var(--spacing-sm);
+ transition: all 0.2s ease;
+}
+
+.nav-links a:hover,
+.nav-links a.active {
+ color: var(--accent-color);
+ border-bottom: 2px solid var(--accent-color);
+}
+
+/* Mobile Navigation */
+.mobile-menu-toggle {
+ display: none;
+ background: none;
+ border: none;
+ font-size: 1.5rem;
+ cursor: pointer;
+}
+
+#mobile-menu {
+ display: none;
+}
+
+#mobile-menu:checked ~ .nav-links {
+ display: flex;
+ flex-direction: column;
+ position: absolute;
+ top: var(--header-height);
+ left: 0;
+ right: 0;
+ background-color: var(--bg-color);
+ border-top: 1px solid var(--border-color);
+ padding: var(--spacing-md);
+}
+
+/* Main Content */
+main {
+ padding-top: var(--spacing-xl);
+}
+
+section {
+ padding: var(--spacing-xl) 0;
+ border-bottom: 1px solid var(--border-color);
+}
+
+section:last-of-type {
+ border-bottom: none;
+}
+
+/* Hero Section */
+.hero {
+ text-align: center;
+ background-color: var(--bg-secondary);
+ padding: var(--spacing-xl) 0;
+}
+
+.hero h1 {
+ margin-bottom: var(--spacing-md);
+}
+
+.hero p {
+ font-size: 1.25rem;
+ margin-bottom: var(--spacing-lg);
+}
+
+/* Content Sections */
+.content-section {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: var(--spacing-lg);
+}
+
+@media (min-width: 768px) {
+ .content-section {
+ grid-template-columns: 1fr 2fr;
+ }
+}
+
+.sidebar {
+ background-color: var(--bg-secondary);
+ padding: var(--spacing-lg);
+ border-radius: 8px;
+}
+
+.main-content {
+ padding-left: var(--spacing-lg);
+}
+
+/* Features Grid */
+.features {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: var(--spacing-lg);
+ margin-top: var(--spacing-lg);
+}
+
+.feature-card {
+ background-color: var(--bg-secondary);
+ padding: var(--spacing-lg);
+ border-radius: 8px;
+ box-shadow: var(--shadow);
+}
+
+.feature-card h3 {
+ color: var(--primary-color);
+ margin-bottom: var(--spacing-sm);
+}
+
+/* Footer */
+footer {
+ background-color: var(--bg-secondary);
+ padding: var(--spacing-xl) 0;
+ text-align: center;
+ border-top: 1px solid var(--border-color);
+}
+
+/* Responsive Design */
+@media (max-width: 768px) {
+ .nav-links {
+ display: none;
+ }
+
+ .mobile-menu-toggle {
+ display: block;
+ }
+
+ #mobile-menu:checked ~ .nav-links {
+ display: flex;
+ }
+}
+
+ h1 { font-size: 2rem; }
+ h2 { font-size: 1.75rem; }
+
+ .container {
+ padding: 0 var(--spacing-sm);
+ }
+
+ section {
+ padding: var(--spacing-lg) 0;
+ }
+}
+
+@media (max-width: 480px) {
+ .hero h1 {
+ font-size: 1.75rem;
+ }
+
+ .features {
+ grid-template-columns: 1fr;
+ }
+}
+
+/* Parallax Styles */
+[data-speed] {
+ will-change: transform;
+ backface-visibility: hidden;
+ transform: translateZ(0);
+}
+
+@media (max-width: 768px) {
+ [data-speed] {
+ will-change: auto;
+ transform: none !important;
+ }
+}
+
+/* WebGL Background Canvas */
+#webgl-bg {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100vh;
+ z-index: -1;
+ pointer-events: none;
+}
+
+/* Accessibility */
+@media (prefers-reduced-motion: reduce) {
+ html {
+ scroll-behavior: auto;
+ }
+
+ * {
+ transition: none;
+ }
+
+ [data-speed] {
+ will-change: auto;
+ }
+}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+} \ No newline at end of file
diff --git a/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css b/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css
new file mode 100644
index 0000000..4c21b9a
--- /dev/null
+++ b/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css
@@ -0,0 +1,8 @@
+/*!
+SPDX-FileCopyrightText: 2021–2026 toastal <https://toast.al/contact/>
+SPDX-License-Identifier: MPL-2.0
+
+sugilite256, an 8-bit color scheme wiþ extra purple
+Support ð project: https://toast.al/funding
+*/
+.chroma .err,pre.code .err{color:#eee;background-color:red}.chroma .k,pre.code .k,.chroma .kd,pre.code .kd,.chroma .kn,pre.code .kn,.chroma .kp,pre.code .kp,.chroma .kr,pre.code .kr,.chroma .kr,pre.code .kr{color:#875fff;font-weight:700}.chroma .na,pre.code .na{color:#af87ff}.chroma .nt,pre.code .nt{color:#af5fff}.chroma .bp,pre.code .bp,.chroma .p,pre.code .p{color:#b2b2b2}.chroma .ld,pre.code .ld{color:#87afff}.chroma .s,pre.code .s,.chroma .sa,pre.code .sa,.chroma .sb,pre.code .sb{color:#ffafaf}.chroma .sc,pre.code .sc{color:#d700af}.chroma .sd,pre.code .sd,.chroma .s2,pre.code .s2,.chroma .se,pre.code .se,.chroma .sh,pre.code .sh,.chroma .si,pre.code .si,.chroma .sr,pre.code .sr{color:#ffafaf}.chroma .ss,pre.code .ss{color:#d70087;font-weight:700}.chroma .m,pre.code .m,.chroma .mb,pre.code .mb,.chroma .mf,pre.code .mf,.chroma .mh,pre.code .mh,.chroma .mi,pre.code .mi,.chroma .il,pre.code .il,.chroma .mo,pre.code .mo{color:#87afff}.chroma .nc,pre.code .nc{color:#d7afff}.chroma .kt,pre.code .kt{color:#d787ff}.chroma .n,pre.code .n{color:#af87ff}.chroma .nl,pre.code .nl{color:#d70087;font-weight:700}.chroma .nn,pre.code .nn{color:#d787ff}.chroma .nb,pre.code .nb{color:#d70087;font-weight:700}.chroma .o,pre.code .o{color:#875fd7}.chroma .gp,pre.code .gp{color:#af87ff;-webkit-user-select:none;user-select:none}.chroma .go,pre.code .go{color:#ff87af}.chroma .cl,pre.code .cl{color:#b2b2b2}.chroma .c,pre.code .c,.chroma .ch,pre.code .ch,.chroma .cm,pre.code .cm,.chroma .c1,pre.code .c1,.chroma .cs,pre.code .cs{color:#8a8a8a}.chroma .cp,pre.code .cp,.chroma .cpf,pre.code .cpf{color:#ff5fd7}.chroma .gh,pre.code .gh,.chroma .gs,pre.code .gs{font-weight:700}.chroma .gu,pre.code .gu{font-style:italic}.chroma .gl,pre.code .gl{text-decoration-line:underline} \ No newline at end of file
diff --git a/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css b/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css
new file mode 100644
index 0000000..847f694
--- /dev/null
+++ b/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css
@@ -0,0 +1,8 @@
+/*!
+SPDX-FileCopyrightText: 2021–2026 toastal <https://toast.al/contact/>
+SPDX-License-Identifier: MPL-2.0
+
+sugilite256, an 8-bit color scheme wiþ extra purple
+Support ð project: https://toast.al/funding
+*/
+.chroma .err,pre.code .err{color:#000;background-color:red}.chroma .k,pre.code .k,.chroma .kd,pre.code .kd,.chroma .kn,pre.code .kn,.chroma .kp,pre.code .kp,.chroma .kr,pre.code .kr,.chroma .kr,pre.code .kr{color:#5f00d7;font-weight:700}.chroma .na,pre.code .na{color:#5f00af}.chroma .nt,pre.code .nt{color:#5f005f}.chroma .bp,pre.code .bp,.chroma .p,pre.code .p{color:#444}.chroma .ld,pre.code .ld{color:#5f87ff}.chroma .s,pre.code .s,.chroma .sa,pre.code .sa,.chroma .sb,pre.code .sb{color:#af5f5f}.chroma .sc,pre.code .sc{color:#af00d7}.chroma .sd,pre.code .sd,.chroma .s2,pre.code .s2,.chroma .se,pre.code .se,.chroma .sh,pre.code .sh,.chroma .si,pre.code .si,.chroma .sr,pre.code .sr{color:#af5f5f}.chroma .ss,pre.code .ss{color:#af005f;font-weight:700}.chroma .m,pre.code .m,.chroma .mb,pre.code .mb,.chroma .mf,pre.code .mf,.chroma .mh,pre.code .mh,.chroma .mi,pre.code .mi,.chroma .il,pre.code .il,.chroma .mo,pre.code .mo{color:#5f87ff}.chroma .nc,pre.code .nc{color:#5f0087}.chroma .kt,pre.code .kt{color:#8700af}.chroma .n,pre.code .n{color:#5f00af}.chroma .nl,pre.code .nl{color:#af005f;font-weight:700}.chroma .nn,pre.code .nn{color:#8700af}.chroma .nb,pre.code .nb{color:#af005f;font-weight:700}.chroma .o,pre.code .o{color:#5f00ff}.chroma .gp,pre.code .gp{color:#5f00af;-webkit-user-select:none;user-select:none}.chroma .go,pre.code .go{color:#d700d7}.chroma .cl,pre.code .cl{color:#444}.chroma .c,pre.code .c,.chroma .ch,pre.code .ch,.chroma .cm,pre.code .cm,.chroma .c1,pre.code .c1,.chroma .cs,pre.code .cs{color:#6c6c6c}.chroma .cp,pre.code .cp,.chroma .cpf,pre.code .cpf{color:#af00d7}.chroma .gh,pre.code .gh,.chroma .gs,pre.code .gs{font-weight:700}.chroma .gu,pre.code .gu{font-style:italic}.chroma .gl,pre.code .gl{text-decoration-line:underline} \ No newline at end of file
diff --git a/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css b/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css
new file mode 100644
index 0000000..afbfdcd
--- /dev/null
+++ b/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2026 toastal <https://toast.al/contact/>
+ * SPDX-License-Identifier: MPL-2.0 */
+@font-face{font-family:League Mono;font-style:normal;font-weight:100 900;font-stretch:50 200;src:local(LeagueMono-VF),local(League Mono VF),url(/asset/league-mono/LeagueMono-VF.woff2)format("woff2-variations")}:root{--font-mono:"League Mono", monospace;--font-body:"League Mono", system-ui, sans-serif;--font-display:"League Mono", serif} \ No newline at end of file
diff --git a/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css b/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css
new file mode 100644
index 0000000..8fe6271
--- /dev/null
+++ b/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css
@@ -0,0 +1,4 @@
+/*!
+ * SPDX-FileCopyrightText: 2025–2026 toastal <https://toast.al/contact/>
+ * SPDX-License-Identifier: MPL-2.0 */
+:root{--font-size-base:1rem;--line-height-ratio:1.6;--scale-ratio:1.2;--size-rhyðm-unit:calc(var(--font-size-base) * var(--line-height-ratio));--font-size--2:.694444rem;--line-height--2:2.304;--font-size--1:.833333rem;--line-height--1:1.92;--font-size-0:1rem;--line-height-0:1.6;--font-size-1:1.2rem;--line-height-1:2.66667;--font-size-2:1.44rem;--line-height-2:2.22222;--font-size-3:1.728rem;--line-height-3:1.85185;--font-size-4:2.0736rem;--line-height-4:2.31481;--font-size-5:2.48832rem;--line-height-5:1.92901;--size-rhyðm-0_25:calc(var(--size-rhyðm-unit) * .25);--size-rhyðm-0_5:calc(var(--size-rhyðm-unit) * .5);--size-rhyðm-0_75:calc(var(--size-rhyðm-unit) * .75);--size-rhyðm-1:calc(var(--size-rhyðm-unit) * 1);--size-rhyðm-1_5:calc(var(--size-rhyðm-unit) * 1.5);--size-rhyðm-2:calc(var(--size-rhyðm-unit) * 2)}html{font-size:100%}body{font-size:var(--font-size-base);line-height:var(--line-height-0);text-rendering:optimizelegibility}h1{font-size:var(--font-size-5);line-height:var(--line-height-5);margin-block:var(--size-rhyðm-2) var(--size-rhyðm-1)}h2{font-size:var(--font-size-4);line-height:var(--line-height-4);margin-block:var(--size-rhyðm-2) var(--size-rhyðm-1)}h3{font-size:var(--font-size-3);line-height:var(--line-height-3);margin-block:var(--size-rhyðm-1_5) var(--size-rhyðm-0_75)}h4{font-size:var(--font-size-2);line-height:var(--line-height-2);margin-block:var(--size-rhyðm-1_5) var(--size-rhyðm-0_5)}h5{font-size:var(--font-size-1);line-height:var(--line-height-1);margin-block:var(--size-rhyðm-1) var(--size-rhyðm-0_5)}h6{font-size:var(--font-size-0);line-height:var(--line-height-0);margin-block:var(--size-rhyðm-1) var(--size-rhyðm-0_5);font-weight:600}p,ul,ol,dl,pre,blockquote,figure,table{margin-block:var(--size-rhyðm-1)}p+p{margin-top:var(--size-rhyðm-1)}li{margin-block:var(--size-rhyðm-0_25)}hr{margin-block:var(--size-rhyðm-2);border:0;border-top:1px solid}callout,figcaption,small,code,pre{font-size:var(--font-size--1);line-height:var(--line-height--1)}pre{padding:var(--size-rhyðm-1);overflow-x:auto}embed,iframe,img,video,svg{max-width:100%;height:auto;margin-block:var(--size-rhyðm-1);display:block}:root[data-debug~=rhyðm]{background-image:repeating-linear-gradient(to bottom, color-mix(in oklab, currentColor 15%, transparent), color-mix(in oklab, currentColor 15%, transparent) 1px, transparent 1px, transparent var(--size-rhyðm-unit));background-size:100% var(--size-rhyðm-unit)}:root[data-debug~=rhyðm-half]{background-image:repeating-linear-gradient(to bottom, color-mix(in oklab, currentColor 10%, transparent), color-mix(in oklab, currentColor 10%, transparent) 1px, transparent 1px, transparent calc(var(--size-rhyðm-unit) / 2))}:root{--page-pad:clamp(1.4rem, 3vw, 3.2rem)}html,body{block-size:100%}body{margin:0}:where(callout,canvas,img,picture,video,svg){display:block}:where(canvas,code,img,kbd,picture,pre,samp,svg,table,var,video){max-inline-size:100%}.DocWrapper{flex-flow:column;display:flex}.Main{flex-grow:1}.Main,.Banner,.Footer{padding:calc(.75*var(--page-pad)) var(--page-pad)}.Headline :first-child{margin-block-start:0}pre,.table-wrapper,.Callout,.Callout-title,.Quoteblock{margin-inline:calc(-.375*var(--page-pad));inline-size:calc(100% + .75*var(--page-pad))}.table-wrapper{overflow:auto}pre,.Callout,.Callout-title,.Quoteblock{padding:calc(.375*var(--page-pad)) calc(.75*var(--page-pad))}.Callout:has(.Callout-title){padding-block-start:0}.Callout-title{margin-inline:calc(-.75*var(--page-pad));inline-size:calc(100% + 1.5*var(--page-pad))}@media screen and (width>=51em){@supports (display:grid){.DocWrapper{row-gap:var(--page-pad);column-gap:calc(var(--page-pad)*1.5);grid-template-rows:minmax(max-content,1fr) min-content;grid-template-columns:minmax(1.6rem,1fr) minmax(6rem,8rem) minmax(0,65rem) minmax(1.6rem,1fr);display:grid}.Main,.Banner,.Footer{padding-inline:0}.Banner-wrapper{grid-area:1/2/3/3}.Banner{position:sticky;top:0}.Main{grid-row:1/2}.Footer{grid-row:2/3}.Main,Footer{grid-column:3/4}.Navigation{text-align:end}}}*,:before,:after{box-sizing:border-box}:where(:root){--color-bg:Canvas;--color-text:CanvasText;--color-code-bg:color-mix(in lab, Canvas 95%, CanvasText 5%);--font-mono:"League Mono", monospace;--font-body:"League Mono", system-ui, sans-serif;--font-display:"League Mono", serif;font-family:var(--font-body);tab-size:3}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-variant-ligatures:common-ligatures;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;hanging-punctuation:force-end;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:where(input,button,textarea,select){font:inherit}:where(code,kbd,pre,samp,var){font-variant-ligatures:none;text-transform:none;-webkit-hyphens:none;hyphens:none}abbr[title]{-webkit-text-decoration-color:color-mix(in lab, currentColor, transparent);text-decoration-color:color-mix(in lab, currentColor, transparent)}code,kbd,pre,samp,var,.Callout{background-color:var(--color-code-bg)}code,kbd,pre,samp,var{font-family:var(--font-mono)}code,kbd,samp,var{padding-block:.125em;padding-inline:.25em}h1 code,h1 kbd,h1 samp,h1 var,h2 code,h2 kbd,h2 samp,h2 var,h3 code,h3 kbd,h3 samp,h3 var,h4 code,h4 kbd,h4 samp,h4 var,h5 code,h5 kbd,h5 samp,h5 var,h6 code,h6 kbd,h6 samp,h6 var{font-family:var(--font-body)}h1 a.toc-backref,h2 a.toc-backref,h3 a.toc-backref,h4 a.toc-backref,h5 a.toc-backref,h6 a.toc-backref{color:inherit}h1{font-weight:800;font-stretch:150%}h1:first-letter{letter-spacing:-.04375em;font-stretch:200%}h3{font-weight:250}caption,dt,summary{inline-size:100%;font-weight:600}caption,.Callout-title{background:var(--color-text);color:var(--color-bg);text-transform:uppercase;font-stretch:80%}dt{font-style:italic}.DocWrapper{min-block-size:100%}.Main,.Footer{max-inline-size:80ch}.Banner-separator{display:none}.Footer{opacity:.666667;font-stretch:66.67%}.Headline{margin-block-end:var(--page-pad)}.Headline [itemprop=headline]{margin-block-end:0}.Headline [itemprop=alternativeHeadline]{margin-block:0 var(--size-rhyðm-0_5);color:color-mix(in lab, currentColor 75%, transparent 25%);font-size:var(--font-size-2);line-height:var(--line-height-2);font-stretch:80%}.Callout{border:2px dotted}.Callout-title{display:block}blockquote{position:relative}blockquote:before{content:"❝";z-index:-1;opacity:.2;text-align:end;width:1em;height:1em;margin-inline-start:-1.125em;font-size:4em;line-height:1;position:absolute;top:0;left:0}.Quoteblock>blockquote{margin-inline:0}.Quoteblock>figcaption{font-weight:600;font-stretch:70%}#table-of-contents{border:1px inset;padding:1em 1.5em;font-size:.9em}#table-of-contents p{margin:0}#table-of-contents>:first-child{margin-block-start:0}#table-of-contents>:last-child{margin-block-end:0}.footnote-list{border-top:1px dashed canvastext;grid-template-columns:min-content auto;align-items:baseline;gap:1em 1.5em;padding-top:1.5em;font-size:.8em;display:grid}.footnote-list .footnote{grid-template-columns:subgrid;grid-column:1/3;grid-template-rows:masonry;align-items:start;display:grid}.footnote-list .footnote>.label,.footnote-list .footnote>.backrefs{grid-column:1/2;justify-self:end}.footnote-list .footnote>.label{grid-row:1/2;font-weight:550}.footnote-list .footnote>.backrefs{grid-row:2/3;font-weight:350}.footnote-list .footnote>p{grid-area:1/2/3/3;margin:0}a[href].bad-proprietary{-webkit-text-decoration:underline wavy red;text-decoration:underline wavy red}.Banner{justify-content:space-between;align-items:flex-end;gap:calc(.5*var(--page-pad));border-block-end:.5px solid;flex-flow:wrap;display:flex}.Banner a{color:inherit}.Banner a:not(:hover):not(:focus-within){text-decoration:none}.Banner-flair{display:none}.SiteLogo{flex:none}.SiteLogo-image{fill:currentColor;inline-size:100%;max-inline-size:10rem;margin:0}.Navigation{flex-flow:wrap;gap:.5em 1em;display:flex}.Navigation-item{font-variant:small-caps}@media screen and (width>=51em){@supports (display:grid){.Banner{border-block-end:none}.SiteLogo{flex-shrink:1}.Navigation{flex-flow:column;inline-size:100%;display:flex}}}table.comparison{border-collapse:separate;font-size:90%;position:relative}table.comparison thead thead{z-index:2;position:sticky;top:0}table.comparison thead th{z-index:1;position:sticky;top:0}table.comparison thead th:first-child{z-index:2;background:canvas;background:var(--color-bg);position:sticky;left:0}table.comparison thead th:not(:first-child){text-align:center;background:#eee;background:color-mix(in lab, Canvas 94%, CanvasText 6%)}table.comparison thead p{margin-block:.125em}table.comparison tbody td:first-child{background:canvas;background:var(--color-bg);position:sticky;left:0}table.comparison tbody tr:nth-child(odd) td:first-child{background:color-mix(in lab, Canvas 96.25%, CanvasText 3.75%)}table.comparison tbody td:not(:first-child){text-align:center;background:#eee;background:color-mix(in lab, Canvas 94%, CanvasText 6%)}table.comparison tbody td.good{background:#afd700}table.comparison tbody td.somewhat{background:#ffd787}table.comparison tbody td.bad{background:#ff5f5f}table.comparison tbody td.doesn’t-apply{color:color-mix(in lab, CanvasText 60%, Canvas 40%)}@media (prefers-color-scheme:dark){table.comparison tbody td:not(:first-child){background:#262626;background:color-mix(in lab, Canvas 94%, CanvasText 6%)}table.comparison tbody td.good{background:#005f00}table.comparison tbody td.somewhat{background:#875f00}table.comparison tbody td.bad{background:#5f0000}}@font-face{font-family:League Mono;font-style:normal;font-weight:100 900;font-stretch:50 200;src:local(LeagueMono-VF),local(League Mono VF),url(/asset/league-mono/LeagueMono-VF.woff2)format("woff2-variations")}:root{--font-mono:"League Mono", monospace;--font-body:"League Mono", system-ui, sans-serif;--font-display:"League Mono", serif} \ No newline at end of file
diff --git a/docs/archive/assets/nixtamal-logo-gmxzsw8388sf9paq05xws7an4hnl4nx0.svg b/docs/archive/assets/nixtamal-logo-gmxzsw8388sf9paq05xws7an4hnl4nx0.svg
new file mode 100644
index 0000000..13a530a
--- /dev/null
+++ b/docs/archive/assets/nixtamal-logo-gmxzsw8388sf9paq05xws7an4hnl4nx0.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="svg1" width="300" height="102.42" version="1.1" viewBox="0 0 79.375 27.099" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <title id="Nixtamal logo">Nixtamal Logo</title>
+ <path id="logo" d="m2.869 4.5498v1.2679h-1.7388v4.9809h-1.1302v-6.2487zm1.478 1.2679h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm4.347-0.69189h1.1301v5.6727h-1.1302zm4.5207 0.41296h-1.2968v-0.69551h1.2968v-1.3838h0.7752v1.3838h1.2968v0.69551h-1.2968v1.3765h-0.7752zm4.1731-0.41296h1.1302v5.6727h-1.1302zm11.545-4.8178-4.4447 8.6794-0.51801-0.34051 4.4266-8.6468zm4.365 4.2419v1.2679h-1.7388v4.9809h-1.1302v-6.2487zm1.4707 1.2679h-1.6844v-1.2679h4.5425v1.2679h-1.7279v4.4737h-1.1302zm4.3542 0h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm7.2159-1.2679v1.2679h-1.7388v4.9809h-1.1302v-6.2487zm1.478 1.2679h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm7.2159-1.2679v1.2679h-1.7388v4.9809h-1.1302v-6.2487zm1.4707 1.2679h-1.6844v-1.2679h4.5425v1.2679h-1.7279v4.4737h-1.1302zm4.3542 0h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm7.2159-1.2679v1.2679h-1.7388v4.9809h-1.1302v-6.2487zm1.478 1.2679h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm4.3469-0.69189h1.1302v5.6727h-1.1302zm-73.898 2.4125h1.1302v12.316h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm5.4771 0v6.0676h1.6518v1.2679h-2.782v-7.3354zm1.5359 6.0676h4.4918v1.2679h-4.4918zm6.0277 1.2679h-1.9851v-1.2679h3.1153v6.2487h-1.1302zm4.3469-7.3354h1.1302v6.6436h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm4.3469 0h1.1302v6.6436h-1.1302zm4.3469 0h1.1302v6.0676h1.6736v1.2679h-1.6736v4.9809h-1.1302zm4.3469 7.3354h-1.6772v-1.2679h1.6772v-6.0676h1.1302v12.316h-1.1302zm4.3469-7.3354h1.1302v12.316h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm4.3469 0h1.1302v12.316h-1.1302zm4.3469 0h1.1302v6.0676h1.6736v1.2679h-1.6736v4.9809h-1.1302zm4.3469 7.3354h-1.6772v-1.2679h1.6772v-6.0676h1.1302v12.316h-1.1302zm4.3469-7.3354h1.1302v12.316h-1.1302zm-73.898 9.0561h1.1302v6.6436h-1.1302zm5.4771 0v6.0676h1.6518v1.2679h-2.782v-7.3354zm1.5359 6.0676h1.6808v-6.0676h1.1302v7.3354h-2.811zm6.0277-6.0676h1.1302v6.6436h-1.1302zm7.1978 1.8257-4.4447 8.6794-0.51801-0.34051 4.4266-8.6468z