Zola je statický generátor. Podstatné pro tenhle projekt: routa vzniká ze souboru v content/. To je celý důvod, proč existují generované adaptéry — kanonická data jsou JSON a Zola z JSON routu neudělá.
Sekce a stránky
_index.md dělá sekci (má pages, subsections), ostatní soubory jsou stránky. Šablona sekce k nim přistupuje přes section.pages, stránka ke své sekci přes get_section(path=…).
load_data
Načte TOML/JSON přímo v šabloně:
{% set learning = load_data(path="data/learning.toml") %}
Díky tomu můžou být popisky, pořadí a ikony v datech, ne v markupu. Používá to navigace, metadata i tahle vzdělávací vrstva.
Čtyři pasti
Shortcodes
Komponenty použitelné uvnitř markdownu: soubory v templates/shortcodes/, volané jako {% nazev() %}…{% end %}. Tělo se předává jako body; markdown v něm se vykreslí filtrem markdown.
Tímhle způsobem jsou udělané prvky lekcí — a importují tatáž makra, jaká používají šablony, takže markup existuje jednou. Ověř si, že to sedí Přidáte novou stránku pod content/, ale na webu se neobjeví. Čím začít? Třemi věcmi, v tomhle pořadí: Když sestavení projde a stránka existuje v Zobrazit odpověď Skrýt odpověď
template znamená, že se stránka vykreslí výchozí šablonou — nebo že sestavení spadne._index.md v adresáři Zola stránky uvnitř nesbírá a section.pages je nenajde.content/dossiers/** nebo content/entities/, synchronizace ji při dalším sestavení smaže — tam patří jen generované adaptéry.public/, ale není vidět v navigaci, je to jiný problém: navigační strom se generuje z dat a novou stránku musí zahrnout příslušný generátor.