Dostupné
Statický web
Tenhle web je generovaný soubor v repozitáři, ne běžící aplikace. Build je jeden skript, výstup je commitnutý, a validátor hlídá, že se zdroj a výstup nerozešly.
- Build
python scripts/web_build.py— 8 sekčních stránek a 56 detailních, jedna na každou kartu- Zdroj a výstup
web_src/→web/public/, obojí verzované- Styl
- Tailwind 4 + Flowbite, jeden sestavený CSS soubor
- JS
- Alpine 3.14.1, Flowbite 4.0.2, Mermaid 11.17.2 a ECharts 6.1.0 lokálně, ověřené proti sha256 v MANIFEST.json; vlastní skripty v web/assets/js/
- Kontrola
- gate
web-src-syncastatic-vendorvjust quality
Každá karta má vlastní adresu
Karta na sekční stránce a detailní stránka za ní se generují z jednoho a téhož záznamu v web_src/content/<sekce>.json. Text karty a stránka, kterou slibuje, se proto nemohou rozejít — jsou to dvě vykreslení téhož vstupu.
Kartu vlastní právě jedna sekce. Ostatní stránky na ni odkazují přes <sekce>/<slug> a míří na jedinou URL, takže dvě různé cesty nikdy neservírují stejný obsah.
Žádné CDN
Každá knihovna leží v repozitáři a manifest u ní drží verzi, upstream URL, licenci a sha256 obsahu. Validátor hashe přepočítá; změněný bajt shodí bránu.
Cena je zřejmá: aktualizace knihovny je commit, ne změna čísla v URL. Zisk je taky zřejmý — obsah, který se návštěvníkovi doručí, se nemůže změnit bez commitu, a stránka nefunguje jinak podle toho, co zrovna vrátí cizí server.
Bez JavaScriptu dává stránka smysl
Na veřejných stránkách obsluhuje JS mobilní menu a přepínač motivu (site.js), přihlašovací widget v hlavičce (session.js, jen kde je přihlášení zapnuté) a na stránkách s diagramem jeho vykreslení, přiblížení a odkazy na uzly (diagrams.js; Mermaid se načte až u diagramu). Obsah, navigace a odkazy fungují bez něj — z diagramu zůstane popisek a seznam odkazů. To není ohled na výjimečného návštěvníka; je to důsledek toho, že stránka je dokument.
Aplikační UI — přehled, průzkum, fronta kontroly, komentáře a aktuality pod /app — je oddělená větev buildu (web/app/), stojí za přihlášením a má vlastní skripty (dashboard.js, explorer.js, review.js a další; grafy kreslí ECharts). Veřejný web na ni nečeká a nemění se kvůli ní.
Kde to v repozitáři žije
scripts/web_build.py— build-time šablony, tabulka stránek, detailní stránky karetweb_src/README.md— struktura zdrojů webu a pravidla editaceweb/assets/js/vendor/MANIFEST.json— vendorované knihovny s verzí, licencí a sha256docs/development/STATIC_ROUTE_CONTRACT.md— kontrakt mezi generovanými stránkami a routami aplikace
Souvisí
FastAPI skeleton
DostupnéAplikace s /health, /health/ready, /version a diagnostikou /health/dependencies, obálkou chyb v problem+json a explicitní tabulkou rout pro statický web — včetně sitemapy, která si absolutní URL bere z requestu. Na téže kostře dnes stojí i čtecí API pilotu.
Detail
Session lifecycle
DostupnéOtevření a uzavření pracovní session, session-context soubory s ověřovanou lineage a generovaný statický DX report. Provozní paměť repozitáře, ne deník.
Detail