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 a Flowbite 2.5.2 lokálně, ověřené proti sha256 v MANIFEST.json
- 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
JS obsluhuje mobilní menu a přepínač motivu. Obsah, navigace a odkazy fungují bez něj. 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 — fronta lidské kontroly a přehledy — je oddělená větev buildu a je plánovaná. 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, /version, obálkou chyb v problem+json a explicitní tabulkou rout pro statický web — včetně sitemapy, která si absolutní URL bere z requestu.
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