Files
LithosAnanke/site/com/canvas/Documents.dc.html
T
Claude be2c204d56 site(com): Downloads and Documents, built from a release; the nav links; the release's SHA256SUMS covers every file (#126, #157) [skip ci]
The design canvas (v17) gains the Documents artboard -- the Book of Fabric and
the Dictionary of v4 first, then the book, the three volumes and the API
reference, each with its SHA-256, and the SSRN paper -- and Downloads and
Documents in every .com nav; Downloads' reading list becomes a pointer to
Documents. site/com/canvas/ copied from it.

site/com/build.py --release TAG --sums SHA256SUMS builds Downloads and
Documents from the release ([TAG], [RELEASE]/<file>, [SHA:<file>]; a file the
release's SHA256SUMS lacks fails the build). Without a release it builds Home,
Try it and Inquiries exactly as before -- byte for byte -- with no link to the
two pages, so they go live only with alpha.4. install.sh installs them when
built.

scripts/nightly.sh gitea-release: the release's SHA256SUMS now covers every
file it attaches -- the images' sums, then the PDFs and the Root CA's
certificate -- so `sha256sum -c SHA256SUMS` checks all of it and Documents
finds each sum. The Nexus artifacts keep their own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
2026-11-10 11:38:50 +00:00

110 lines
10 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>StarshipOS — Documents</title>
<script src="./support.js"></script>
</head>
<body>
<x-dc>
<helmet>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&amp;family=Exo+2:wght@600;700&amp;display=swap" rel="stylesheet">
<style>
body{margin:0;background:#0A1222}
a{color:#F5891F}a:hover{color:#FFB061}
</style>
</helmet>
<div style="background: #0A1222; color: #EEF2F7; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 16px; line-height: 1.6; min-height: 100vh">
<header style="border-bottom: 1px solid #22324D">
<nav aria-label="Main" style="max-width: 1120px; margin: 0 auto; padding: 20px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px">
<a href="Main.dc.html" style="font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 22px; color: #EEF2F7; text-decoration: none; letter-spacing: 0.02em">starship<span style="color: {{accent}}">OS</span></a>
<div style="display: flex; flex-wrap: wrap; gap: 24px; font-size: 14px">
<a href="Main.dc.html" style="color: #C8D1DE; text-decoration: none">Home</a>
<a href="TryIt.dc.html" style="color: #C8D1DE; text-decoration: none">Try it</a>
<a href="Downloads.dc.html" style="color: #C8D1DE; text-decoration: none">Downloads</a>
<a href="Documents.dc.html" aria-current="page" style="color: #EEF2F7; text-decoration: none; border-bottom: 2px solid {{accent}}">Documents</a>
<a href="Inquiries.dc.html" style="color: #C8D1DE; text-decoration: none">Inquiries</a>
<a href="https://starshipos.org" style="color: {{accent}}; text-decoration: none">Contributors →</a>
</div>
</nav>
</header>
<section style="max-width: 1120px; margin: 0 auto; padding: 80px 24px 32px">
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #4FD1B0">ok&gt; documents</p>
<h1 style="margin: 0 0 16px; font-family: 'Exo 2', sans-serif; font-size: clamp(36px, 5vw, 56px); line-height: 1.1">How it was built, and what it says.</h1>
<p style="margin: 0 0 24px; max-width: 720px; font-size: 18px; color: #C8D1DE">Every release builds its documents from the same tree as its images: the design record, the dictionary of every word, the book, the formal volumes. Each is a PDF on the release, with its checksum.</p>
<div style="display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px">
<span style="display: inline-block; padding: 4px 12px; border-radius: 4px; background: #111C30; border: 1px solid #34486A; color: #EEF2F7">[TAG]</span>
<a href="[RELEASE]/SHA256SUMS" style="color: #C8D1DE">SHA256SUMS →</a>
<a href="https://gitea.starshipos-f18.org/rajames/LithosAnanke/releases" style="color: #C8D1DE">All releases →</a>
</div>
</section>
<section aria-labelledby="new-h" style="max-width: 1120px; margin: 0 auto; padding: 32px 24px 48px">
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">Start here</p>
<h2 id="new-h" style="margin: 0 0 32px; font-family: 'Exo 2', sans-serif; font-size: 36px; line-height: 1.15">Two books, kept with every release.</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px">
<article style="background: #111C30; border: 1px solid #34486A; border-radius: 6px; padding: 32px; display: flex; flex-direction: column; gap: 14px">
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 28px">The Book of Fabric</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">the design record, as it happened</p></div>
<p style="margin: 0; color: #C8D1DE; font-size: 15px">Every ruling, the reasoning behind it, what was built and what was abandoned, written as the work went -- reproduced as written, corrections and all. The living record first, then the closed ones in order. Fabric is about steady state: this is how it was reached.</p>
<div style="font-size: 12px; color: #A3AEC2; word-break: break-all">SHA-256 [SHA:fabric.pdf]</div>
<a href="[RELEASE]/fabric.pdf" style="display: inline-block; align-self: flex-start; padding: 12px 20px; background: {{accent}}; color: #0A1222; font-weight: 700; text-decoration: none; border-radius: 4px">fabric.pdf</a>
</article>
<article style="background: #111C30; border: 1px solid #34486A; border-radius: 6px; padding: 32px; display: flex; flex-direction: column; gap: 14px">
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 28px">The Dictionary of v4</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">every word, alphabetical</p></div>
<p style="margin: 0; color: #C8D1DE; font-size: 15px">Every word StarForth v4 boots with: its stack notation, what it does, and where it is defined. The names come from the booted system itself, and the build refuses a dictionary that has fallen behind it.</p>
<pre style="margin: 0; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 12px; color: #EEF2F7; white-space: pre-wrap">DUP ( x -- x x ) Copy the top value.
MINT-ZUSE ( -- ) Mint the real Zuse onto a second stick.</pre>
<div style="font-size: 12px; color: #A3AEC2; word-break: break-all">SHA-256 [SHA:dictionary.pdf]</div>
<a href="[RELEASE]/dictionary.pdf" style="display: inline-block; align-self: flex-start; padding: 12px 20px; background: {{accent}}; color: #0A1222; font-weight: 700; text-decoration: none; border-radius: 4px">dictionary.pdf</a>
</article>
</div>
</section>
<section aria-labelledby="more-h" style="max-width: 1120px; margin: 0 auto; padding: 32px 24px 48px">
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">And the rest</p>
<h2 id="more-h" style="margin: 0 0 32px; font-family: 'Exo 2', sans-serif; font-size: 30px; line-height: 1.15">The book, the formal set, the API.</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px">
<a href="[RELEASE]/book.pdf" style="display: block; background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 20px; text-decoration: none"><div style="font-family: 'Exo 2', sans-serif; font-size: 18px; color: #EEF2F7">The book</div><div style="font-size: 13px; color: #A3AEC2">StarshipOS, end to end</div><div style="margin-top: 8px; font-size: 11px; color: #6B7A93; word-break: break-all">[SHA:book.pdf]</div></a>
<a href="[RELEASE]/vol1.pdf" style="display: block; background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 20px; text-decoration: none"><div style="font-family: 'Exo 2', sans-serif; font-size: 18px; color: #EEF2F7">Volume I</div><div style="font-size: 13px; color: #A3AEC2">the formal set</div><div style="margin-top: 8px; font-size: 11px; color: #6B7A93; word-break: break-all">[SHA:vol1.pdf]</div></a>
<a href="[RELEASE]/vol2.pdf" style="display: block; background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 20px; text-decoration: none"><div style="font-family: 'Exo 2', sans-serif; font-size: 18px; color: #EEF2F7">Volume II</div><div style="font-size: 13px; color: #A3AEC2">the formal set</div><div style="margin-top: 8px; font-size: 11px; color: #6B7A93; word-break: break-all">[SHA:vol2.pdf]</div></a>
<a href="[RELEASE]/vol3.pdf" style="display: block; background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 20px; text-decoration: none"><div style="font-family: 'Exo 2', sans-serif; font-size: 18px; color: #EEF2F7">Volume III</div><div style="font-size: 13px; color: #A3AEC2">the formal set</div><div style="margin-top: 8px; font-size: 11px; color: #6B7A93; word-break: break-all">[SHA:vol3.pdf]</div></a>
<a href="[RELEASE]/api.pdf" style="display: block; background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 20px; text-decoration: none"><div style="font-family: 'Exo 2', sans-serif; font-size: 18px; color: #EEF2F7">API reference</div><div style="font-size: 13px; color: #A3AEC2">StarForth's C, generated</div><div style="margin-top: 8px; font-size: 11px; color: #6B7A93; word-break: break-all">[SHA:api.pdf]</div></a>
</div>
</section>
<section aria-labelledby="paper-h" style="max-width: 1120px; margin: 0 auto; padding: 48px 24px 96px">
<div style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 32px 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px">
<div style="flex: 1 1 420px; min-width: 0">
<p style="margin: 0 0 8px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">The paper</p>
<h2 id="paper-h" style="margin: 0 0 8px; font-family: 'Exo 2', sans-serif; font-size: 26px">The ideas behind it, on SSRN.</h2>
<p style="margin: 0; color: #C8D1DE; font-size: 15px">The whitepaper the design starts from.</p>
</div>
<a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5930134" style="display: inline-block; padding: 12px 20px; border: 1px solid #34486A; color: #EEF2F7; text-decoration: none; border-radius: 4px">Read the paper →</a>
</div>
</section>
<footer style="border-top: 1px solid #22324D">
<div style="max-width: 1120px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; font-size: 13px; color: #A3AEC2">
<span>© 2026 Robert Allan James · A Starship Foundation project (in formation)</span>
<span style="display: flex; flex-wrap: wrap; gap: 24px"><a href="Main.dc.html" style="color: #C8D1DE">Home</a><a href="Downloads.dc.html" style="color: #C8D1DE">Downloads</a><a href="Inquiries.dc.html" style="color: #C8D1DE">Inquiries</a><a href="https://starshipos.org" style="color: #C8D1DE">starshipos.org</a></span>
</div>
</footer>
</div>
</x-dc>
<script type="text/x-dc" data-dc-script data-props='{"accent":{"editor":"color","default":"#F5891F","options":["#F5891F","#5FD3C4","#8FB8FF"]},"$preview":{"width":1280,"height":2400}}'>
class Component extends DCLogic {
renderVals() {
return { accent: this.props.accent ?? '#F5891F' };
}
}
</script>
</body>
</html>