Skip to content

lss 2.0 stage 8: website as a scroll film - #29

Draft
VectoDE wants to merge 1 commit into
feat/lss-6from
feat/lss-8
Draft

VectoDE wants to merge 1 commit into
feat/lss-6from
feat/lss-8

Conversation

@VectoDE

@VectoDE VectoDE commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Stage 8 of the 2.0 rebuild: the website on GitHub Pages, lss explained as a film that plays while scrolling.

  • scripts/build-site.sh builds one static page from the repository: a scene per module group from the module metadata (MOD_NAME, MOD_GROUP, MOD_DESCRIPTION, MOD_CONFLICTS, MOD_OPTIONS, MOD_REQUIRES), the profiles, the guard defaults, lss --help, the menu of lib/ui.sh and data/systems.conf. The page is generated in the Pages workflow and never committed, so modules added later appear with the next deploy.
  • site/: inlined stylesheet (allowed by its SHA-256 in the CSP), film.js (the only script), favicon, robots.txt. System fonts only, no external requests, no tracking.
  • Reduced motion, no scripting or a short screen: the same scenes as a still sequence. Chapter list, skip link, visible focus, plain headings, lists and tables.
  • data/systems.conf: one source for the supported systems and the resource figures; the build fails when the README tables differ.
  • .github/workflows/pages.yml: build and Lighthouse (100 in all four categories, three runs, median) on every pull request; upload and deploy only on main, with pages: write and id-token: write for the deploy job alone.
  • docs/website.md: sources, build, CSP and the headers a host should send, deploy.

GitHub Pages has to be enabled once with the source "GitHub Actions" before the first deploy from main.

Refs #10

🤖 Generated with Claude Code

The website for issue #10. scripts/build-site.sh writes one static page from the repository itself: a scene per
module group from MOD_NAME, MOD_GROUP, MOD_DESCRIPTION, MOD_CONFLICTS and MOD_OPTIONS, the profiles, the guard
defaults, the help text of lss, the whiptail menu and data/systems.conf. The Pages workflow runs it on every deploy
and the page is never committed, so a module added later (Traefik, say) is on the site without anyone touching it.

Scrolling scrubs each scene: log lines appear like a run of lss, module lists roll past, profiles and menu items
switch one at a time. Every word is in the HTML from the start; with reduced motion, without scripting or on a
short screen the same scenes are a still sequence. No framework, no fonts or requests from elsewhere, a strict
Content Security Policy with the inlined stylesheet allowed by its hash. Lighthouse runs in CI and fails below 100
in any category; deploy runs only on main.

data/systems.conf becomes the one source of the supported systems and the resource figures; the build fails when
the README tables say something else.

Refs #10

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: VectoDE <system.bot.discord.utility@gmail.com>
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant