docs: a website, in three files
index.html, style.css, app.js and the three marks. No build step, no dependencies, no framework -- it opens from a file:// URL. The palette is not a design decision: it is include/theme.h transcribed, including the rule that header enforces. PSOGM purple appears exactly once, on the crash-screen section, because branding/README.md says a colour used everywhere means nothing. The typefaces are Roboto and JetBrains Mono, both already in ports/ and both requested from the system rather than downloaded -- a font file would outweigh the rest of the site. The boot log in the hero is real lines from a real boot. The script is decoration and the page is complete without it; it does nothing at all under prefers-reduced-motion. The feature tags (runs / in progress / designed) are a promise, and the README says so: anything marked `runs` is in the tree and works today. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
This commit is contained in:
parent
d917798090
commit
81af69bf53
7 changed files with 890 additions and 0 deletions
50
docs/Website/README.md
Normal file
50
docs/Website/README.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<!-- SPDX-License-Identifier: Apache-2.0 -->
|
||||
# The website
|
||||
|
||||
Three files and a folder of marks. No build step, no dependencies, no
|
||||
framework — open `index.html` and it works, including from a `file://` URL.
|
||||
|
||||
```
|
||||
index.html the page
|
||||
style.css the palette, transcribed from include/theme.h
|
||||
app.js two behaviours: the boot log types, sections fade in
|
||||
Assets/ shift.svg (the logo), uberblock.svg (SchFS), guru.svg (PSOGM)
|
||||
```
|
||||
|
||||
## The rules it follows
|
||||
|
||||
**The palette is not a design decision.** It is `include/theme.h`, copied. A
|
||||
site describing an operating system should look like the operating system, and
|
||||
copying the header means the two cannot drift apart by accident.
|
||||
|
||||
**PSOGM purple appears exactly once.** `#4B1D9A` is on the crash-screen section
|
||||
and nowhere else, because [../branding/README.md](../branding/README.md) says
|
||||
it means *the machine stopped* and that a colour used everywhere means nothing.
|
||||
If it shows up in a second place, that is a bug in the page.
|
||||
|
||||
**The typefaces are the ones the OS ships.** Roboto for text and JetBrains Mono
|
||||
for the system voice — both already in `ports/`, both already in `NOTICE`. They
|
||||
are requested from the system rather than downloaded: a font file would be
|
||||
larger than the entire rest of the site.
|
||||
|
||||
**The script is optional.** If `app.js` fails to load the page is still
|
||||
complete and still readable. Everything it does is decoration, and it honours
|
||||
`prefers-reduced-motion` by doing none of it.
|
||||
|
||||
**The boot log is real.** The lines in `app.js` are from an actual boot, not
|
||||
invented. The timer calibration line is there deliberately; see section 13 of
|
||||
[../history/kernel.md](../history/kernel.md) for what it cost.
|
||||
|
||||
## Editing it
|
||||
|
||||
The numbers in the *Numbers* section are measured, not estimated, and they go
|
||||
stale. To refresh them:
|
||||
|
||||
```sh
|
||||
find kernel include -name '*.c' -o -name '*.h' | xargs wc -l | tail -1
|
||||
grep -c '^SYSCALL' kernel/sys/table.inc
|
||||
```
|
||||
|
||||
The feature cards carry a tag — `runs`, `in progress`, or `designed` — and the
|
||||
tag is a promise. Anything marked `runs` is in the tree and works today. When
|
||||
that stops being true, change the tag rather than the wording.
|
||||
Loading…
Reference in a new issue