[−][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 |
TeacherList | tato struktura existuje jako způsob obcházení limitací |
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 |