Rituály — knihovna (spiritual_guides) a routy /ritualy
Stav dokumentu: Částečně — tabulka
spiritual_guides(migrace0016_spiritual_guides.sql) a veřejné stránky/ritualy,/ritualy/:slugjsou v produkci; základní krokovač na detailu návodu je hotový. Admin CRUD a validace JSON jsou v 32-admin.md. Rozšíření průvodce (URL krok, animace, …) zůstává backlog.
Cíl: jedna doména — editorské strukturované návody mimo volné spiritual_uses na kartě byliny (odděleně od vědy; viz úvod na /ritualy).
Vstup: 22-data-model.md · 32-admin.md (správa návodů). Rozcestník: spiritualni-a-ritualni-obsah.md. Sekce na kartě: spiritualni-uses-karta-byliny.md.
1. Datový model
- Tabulka
spiritual_guides:slug,title,intent,category,intro,steps_json,materials_json,safety_notes,references_note, volitelněherb_id,is_published, časová razítka. - Seed v migraci
0016_spiritual_guides.sql(ukázkový záznam). - Další seed návodů (idempotentní
INSERT … SELECT … WHERE NOT EXISTSpodleslug):0031_spiritual_guides_seed_expand.sql,0040_spiritual_guides_seed_more.sql–0045_spiritual_guides_seed_expand_6.sql,0048_spiritual_guides_seed_expand_7.sql,0050_spiritual_guides_seed_expand_8.sql,0051_spiritual_guides_seed_expand_9.sql,0052_spiritual_guides_seed_expand_10.sql,0054_spiritual_guides_seed_expand_11.sql,0056_spiritual_guides_seed_expand_12.sql,0060_spiritual_guides_seed_expand_13.sql,0064_spiritual_guides_seed_expand_14.sql,0065_spiritual_guides_seed_expand_15.sql,0066_spiritual_guides_seed_expand_16.sql. Mezi nimi běží jiné domény (recepty / věda / zpracování) pod vlastními čísly — viz řada0046–0049,0053,0055,0057–0059,0061–0067(recipe science, včetně0067_recipe_science_ema_curated_teas.sql). - Pravidlo pojmenování: v
migrations/nesmí existovat dva soubory se stejným číselným prefixem před první podtržítkem (0062_a.sql+0062_b.sqlne).wrangler d1 migrations applyřadí soubory lexikograficky a v metatabulce migrací je identifikátor odvozen od celého názvu souboru. - Příklad řešení kolize: dva soubory
0062_*(recipe science × spirituální seed) — spirituální migrace přejmenovat na další volné číslo (v repu:0064_spiritual_guides_seed_expand_14.sql). Stejně tak globálně: dvě migrace0025_*→ jednu přejmenovat (v repu: topics0037_topics_expand_symptoms.sqlvedle0025_herbs_catalog_expand.sql).
Strategie obsahu (návodů)
- Hromadné SQL migrace zůstávají vhodné pro doplnění knihovny po šabloně, idempotentní opakování a obsah navázaný na nové bylinky v katalogu (nový
herb_id). - Úpravy copy, opravy disclaimerů a „jednorázové“ návody po nasazení admin CRUD směřovat do administrace (32-admin.md), aby nevznikala zbytečná řada čísel migrací jen kvůli překlepům.
- Doporučení: další velké vlny
spiritual_guides_seed_expand_*.sqlomezit na zjevné mezery (nové druhy v DB, nová kategorie návodů); rutinní práci přesunout na editor.
Lokální ověření po změnách migrací
- Použít Node z
.nvmrc/enginesvpackage.json(nvm use), jinak Wrangler na starém Node nespustíš. npm run d1:apply:local— aplikuje nepoužité migrace na lokální D1 pro vývoj.- Rychlá kontrola dat např.:
npx wrangler d1 execute DB --local --command "SELECT COUNT(*) AS total FROM spiritual_guides WHERE is_published = 1"
a výběr konkrétníhoslugpo přidané migraci.
2. Veřejný web
-
/ritualy— seznam publikovaných návodů (listPublishedSpiritualGuides). -
/ritualy/:slug— detail s kroky (JSON), materiály, bezpečnostní poznámka, odkaz na související bylina (pokud jeherb_id).
3. Plánovaná vylepšení
- Interaktivní průvodce (krok za krokem) — na
/ritualy/:slug: krokovač pro více kroků, indikátor pozice, klávesové šipky, pozice vsessionStorage(relace prohlížeče), rozbalení celého seznamu; komponentaRitualGuideStepsvapp/components/ritual-guide-steps.tsx(viz 26-ui-components.md). - Rozšíření průvodce (např. animace, sdílení odkazu na konkrétní krok v URL, trvalější stav) — backlog podle potřeby.
4. Akceptace
- Nepublikované záznamy se na veřejném webu nezobrazují (
is_published = 1). - Detail návodu má čitelné kroky a konzistentní bezpečnostní rámec (text / disclaimer).
5. Vazby na jiné dokumenty
- Spirituální sekce na kartě — spiritualni-uses-karta-byliny.md.
- API a routy — 23-api-and-routes.md.
- Administrace návodů — 32-admin.md (routy, checklist,
SpiritualGuideForm, validace JSON — oddíly 3, 7–9). - Bezpečnostní štítky u bylin — bezpecnost-a-media-stitky.md.