Společná stavebnice statických klientských webů. Stránky se skládají z dat a 16 obsahových modulů, společné hlavičky a patičky. Výsledkem je běžné HTML, CSS a JavaScript pro Cloudflare Workers Static Assets.
První verze vychází z analýzy repozitářů Miláček, Beran a Italboats. Je to nový společný základ, nikoli automatická migrace stávajících webů nebo jejich přesná grafická kopie. Původní weby zůstávají samostatné. Ukázky používají ilustrační grafiku. Katalog showcase má skutečný kontaktní formulář; ostatní ukázkové sestavy zůstávají demo. Viz docs/FORMS.md.
Potřebujete Node.js 22 nebo novější. Sestavení nemá externí závislosti.
npm test
npm run dev
Otevřete http://127.0.0.1:4173. Lokální server při spuštění sestaví web; po úpravě dat jej znovu spusťte. Není zde automatický hot reload.
Další sestavy:
npm run dev -- milacek
npm run dev -- beran
npm run dev -- italboats
Pouhé vytvoření HTML:
npm run build
npm run build -- milacek
| Místo | Účel |
|---|---|
sites/*.json |
Texty, kontakty, navigace, pořadí modulů, stránky a barvy |
src/modules/ |
Samostatné renderery modulů |
src/page.mjs |
Společná stránka a metadata |
public/assets/ |
Obrázky, videa, společné CSS a chování modulů |
scripts/build.mjs |
Sestavení, kontrola souborů a interních odkazů |
dist/ |
Automaticky vytvořený web; nikdy neupravovat ručně |
wrangler.jsonc |
Jméno Workeru a publikování pouze dist/ |
docs/ |
Katalog, srovnání zdrojů a postup nasazení |
Začněte implementačním postupem: obsahuje úvodní zadání ke zkopírování, pět iterací, kontrolu spuštění a předání stavu mezi konverzacemi.
sites/klient.json.public/assets/; odkazy v datech začínají /assets/.wrangler.jsonc změňte name na název nového Workeru. Nepřipojujte nového klienta ke Workeru šablony.npm test && npm run build -- klient, deploy příkaz npx wrangler deploy.url a indexable: true. Ukázkové adresy ani demo formuláře nesmí zůstat na produkčním webu. Zvolte ověřený režim server podle docs/FORMS.md, mailto, nebo formulář vypněte (form: null).Změna pořadí objektů v pages[].sections mění pořadí modulů. Odstraněním objektu modul vypnete. Při odstranění sekce aktualizujte také navigaci a tlačítka, jinak sestavení správně ohlásí neplatnou kotvu. Typ každého modulu má vlastní vstupní data; katalog obsahuje příklady.
demo (nic neodesílá), mailto (otevře aplikaci návštěvníka) a server (společná služba Cloudflare + Resend podle docs/FORMS.md)..invalid. Před zveřejněním je nahraďte.npm test ověřuje všechny sestavy, escaping textů, nepovolené URL, chybějící soubory a kotvy, zdrojové soubory v médiích, hranici 25 MiB a ochranu před omylem publikovaným demo formulářem. Před publikací navíc projděte mobil, klávesnici, kontakty, formulář ve zvoleném režimu a reálná videa. noindex není přístupové zabezpečení; důvěrné náhledy chraňte Cloudflare Access.
Viz katalog modulů, analýza tří webů a nasazení.
Nově: mapa a provozovna, hodnocení, partneři, tým, dokumenty a tři vzory detailu. Příklady konfigurace viz moduly.
V samostatné klientské kopii po založení repozitáře spusťte:
npm run setup -- --slug novy-klient --name "Název klienta" --url https://novy-klient.ccn-dev.cz --from milacek
npm test
npm run build
--from vybírá výchozí sestavu (výchozí milacek). Slug použijte také jako název Workeru v Cloudflare. Setup vytvoří project.json, klientskou sestavu a docs/PROJECT.md; nastaví statický Worker, pracovní URL a vypnutou indexaci. Nespouští nasazení, nevytváří DNS ani nepřipojuje doménu. Ukázkový obsah je nutné nahradit. Formuláře jsou demo bez odesílání; klientská kopie nenasazuje centrální formulářový server.
Pro Cloudflare použijte build npm test && npm run build a deploy npx wrangler deploy. Nepřidávejte starý argument sestavy ani proměnnou SITE. npm run dev také automaticky vybere klienta. Bez project.json zůstává původní chování katalogu a explicitních sestav zachováno.
Setup odmítne přepsat již připravený projekt. Následné změny adresy nebo názvu proveďte shodně v project.json a aktivním sites/*.json; změnu názvu Workeru také ve wrangler.jsonc. Build kontroluje jejich shodu. Konfigurace Workeru vytvořená setupem je JSON bez komentářů.
Ostré spuštění je samostatný krok na výslovný pokyn: v project.json změňte stage na production, sjednoťte skutečnou URL a nastavte indexaci podle pravidel spuštění. Samotná změna fáze indexaci nezapíná.