Přeskočit na obsah

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-sync a static-vendor v just 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

Souvisí

Zpět na sekci Roadmapa