[][src]Module mdbook_cat_prep::render

modul obsahující renderovací funkce tohoto preprocessoru

V první fázi dojde ke zpracování cat kontextu na seznam typu Vec<RenderSite>, který obsahuje renderovací příkazy a jejich cíle.

Následně je seznam renderů aplikován na knihu. Vzhledem k tomu, že samotné vytváření renderů přidává do knihy několik článků, tak obě operace vyžadují mutabilní přístup ke knize.

Tvorba renderů je zprostředkována pomocí traity Render. Všechny výchozí rendery využívají tinytemplate šablony. Pro tinytemplate je nejlepší, když je šablona statický strig, proto jsou zde všechny šablony prozatím 'nahardcodované' jako immutabilní globální stringy.

V budoucnu by bylo možné využít makra include_str!() k extrakci těchto šablon do vnějších souborů.

Structs

RenderSite

Uchovává informace o daném renderu

Tag

struktura obsahující pár tag - články

TagContext

tagový kontext pro tinytemplate šablonu

TeacherList

tato struktura existuje jako způsob obcházení limitací tinytemplate

Enums

RenderType

typ daného renderu (a jeho obsah). Určuje chování, jakým bude zacházeno z obsahem článku

Statics

ARTICLE_POST_TEMPLATE

čablona seznamu tagů u článku (část za obsahem)

ARTICLE_PRE_TEMPLATE

šablona karty článku (část před obsahem)

SUBJECT_POST_TEMPLATE

šablona seznamu materiálů v daném předmětu (část za obsahem)

SUBJECT_PRE_TEMPLATE

šablona karty předmětu (část před obsahem)

TAGS_TEMPLATE

šablona pro stránku se seznamem tagů a asociovaných článků

TEACHER_LIST_TEMPLATE

šablona pro seznam učitelů

TEACHER_TEMPLATE

šablona karty učitele

Traits

Render

Trait umožňující renderování struktury jako Markdown/HT?ML

Functions

create_renders

vytvoří rendery z objektů

execute_renders

spustí dané Rendery na knize