No description
Find a file
randogoth f761709c68 feat: a paper mode on randogoth.com, as a prompt command
Light mode is a remap of the sixteen EGA slots, not a second stylesheet. Every
rule in bbs.css already goes through those variables, so the whole board
inverts by redefining them and nothing below has to know.

Warm greys on sepia, monochrome. Not an EGA palette and not pretending to be
one: the amber-on-paper end of the same machine. Tones are picked by contrast
ratio against the ground rather than by eye, and the ordering of the sixteen is
preserved, so what was recessive stays recessive: --dgrey quiet, --blue chrome,
--yellow the hotkeys, --lred the loudest thing on screen. Freed from EGA
fidelity, --dgrey is lifted to 4.5:1 rather than the 2.7:1 its counterpart sits
at on black.

The switch is a command, not a button, because a board had no widgets. It names
where it is going, so it reads [L]ight on a dark screen and [D]ark on a light
one and the key moves with the label. L and D were the only two letters free
across all 71 pages. It is injected by bbs.js rather than written into the
template, so a reader without JS is not offered a switch that cannot work.

The logo takes a second set of ramps: on paper presence is ink rather than
light, so they run pale to dark and the feet stay the lightest step, which
keeps the weight where the dark version puts it. The session's ramp index is
shared, so the two themes are the same draw rendered two ways.

Dark stays the default and the no-JS result. The preference is in localStorage
rather than sessionStorage, since it is a preference and not a welcome screen,
and it is applied from <head> before first paint.

Also fixes a hardcoded #000 on the guestbook form, which would have been a
black box on paper.

Verified in a browser: 70 pages and 321 frame rows still exactly 80 columns,
the command flips both ways, the ramp follows, and the choice survives a
navigation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-05 22:09:47 +03:00
flux.vision fix: declare color-scheme, so navigation stops flashing white 2026-10-05 22:01:37 +03:00
randogoth.com feat: a paper mode on randogoth.com, as a prompt command 2026-10-05 22:09:47 +03:00
tobias.raayoni-last.com fix: declare color-scheme, so navigation stops flashing white 2026-10-05 22:01:37 +03:00
.gitignore Three sites, one directory each 2026-10-05 20:54:45 +03:00
README.md Three sites, one directory each 2026-10-05 20:54:45 +03:00

sites

Three domains, one directory each, one audience each.

Directory Domain Subject Audience
flux.vision/ flux.vision Kiritan Flux: media arts, VJ, performance, installations, 2003-2021 festival and art world
tobias.raayoni-last.com/ tobias.raayoni-last.com client work, portfolio, CV clients, employers, galleries
randogoth.com/ randogoth.com the technical work, six areas devs, retro and small-net readers

They were one site until October 2026. The split is the fix: four audiences were being handed one page, and a page that serves four audiences collapses into the only format that can hold unrelated things, which is a dated list.

sublunar.space is deliberately not here. It is a working blog with nine years and 440 commits of its own voice, and it keeps its own repo.

Building

All three are Pelican, with no shared build. Each stands alone:

cd flux.vision        # or tobias.raayoni-last.com, or randogoth.com
uv run --quiet --with pelican --with markdown -- pelican content -o output -s pelicanconf.py

Each directory has its own README covering its theme, its taxonomy and the traps specific to it.

articles theme notes
flux.vision/ 90 flux recovered from the Wayback Machine; closed, maintained not updated
tobias.raayoni-last.com/ 97 raayoni grid of tiles, light and dark
randogoth.com/ 41 bbs an ANSI bulletin board, 80 columns; mc-pelican is the fallback

Deployment

Built and served on bucur. A push triggers a webhook that builds the changed site and rsyncs it into place. Content does not trigger a system activation: the site derivations are flake packages, so a typo costs a Pelican run rather than a nixos-rebuild switch.

Shared conventions

  • No em dashes. Commas, colons, full stops or ·.
  • Flat slugs. {slug}.html on all three. Categories get reworked; slugs should not move.
  • No nl2br. The recovered bodies are hard wrapped at about 70 characters, so it turns every source line into a forced break. This has been fixed twice; do not add it back.
  • Lost images are handled at build time, not in the browser. The references stay in the Markdown because the reference records what was there; plugins/lostimages.py strips them from the output.
  • Check the built output, not the source. Several bugs here were invisible at a glance and obvious to a counter: forced line breaks that fell near the natural wrap, box drawing a column short, a config change that silently emptied every hotkey.

The working material

The inventory, the recovery pipelines, the pruned articles, the source archives and REFACTOR.md live outside this repo, at /mnt/data/Backup/sites-restructure-2026-10-05/. A clone is the three sites, not the argument that produced them.

That backup is worth keeping: the sort is not reproducible from the sites alone. inventory.tsv records why each of 266 articles went where it did, and _pruned/ is the only record of what was taken out.