Files
small-packages/luci-theme-footstrap/docs
2026-09-20 01:22:33 +08:00
..
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00
2026-09-20 01:22:33 +08:00

Documentation

Developer documentation for luci-theme-footstrap. Installing and using the theme is in the repository README.

Every page here stands on its own — start wherever your question is.

Start here

Page Answers
architecture.md What LuCI expects from a theme, and where footstrap plugs into it
conventions.md The rules a patch must follow, and which gate holds each one
development.md Bring up a dev router, push a change, prove it works
crew.md How a session is split between the lead thread and the role subagents

How it is built

Page Answers
design-system.md Tokens, palettes, typography, scales, the appearance axes
css.md The styles/ tree, cascade layers, build-css.sh, proving a CSS change
chrome.md Sidebar, icon rail, top bar, the menu renderer, the fit measurement
spa-router.md Client-side navigation: how it works and what it refuses to do
third-party-apps.md Coexisting with foreign luci-app-*

Shipping

Page Answers
package.md Source tree, Makefile, uci-defaults, postinst/postrm
ci.md The CI job graph, packaging, installation and the trust chain
releasing.md The pre-release checklist, the changelog contract, the runbook
benchmark.md The navigation benchmark: method and results

For authors of other packages

Page Answers
luci-app-styling-guide.md How to style a luci-app-* so it works under any theme
luci-app-styling-guide_ru.md The same guide in Russian — the one page here that is mirrored

There is also a self-contained developer portal with the colour-token grid, the component markup and a style checker: https://vizzletf.github.io/luci-theme-footstrap/.

Not documentation

File What it is
gallery.html every widget LuCI can emit, with the real class names — what the a11y gate runs against
devkit.src.html source of the developer portal
devkit.html built from devkit.src.html, gallery.html and 02-tokens.css by the pages job. Generated, gitignored, never committed
the playground not a page here at all — recorded from a real router by tools/playground/* and CI's playground job, published as a release asset and fetched into Pages by pages.yml. ci.md
design/, screenshots/, img/ reference mock-ups and README assets

Conventions of these pages

  • One page, one job. If a page needs its own table of contents, it is probably two pages.
  • One fact lives in one place. Pages link to each other rather than repeating.
  • Every measurement carries the number it was made with, and every rule says what it protects against — the alternative was usually tried and was worse.
  • Documentation that has stopped being true is deleted, not annotated.