Somwhere thers a transition pandoc meta -> general meta, for some meta # Pagestate data This is for *arg-for-fripost* * 002 1 early * Meta according to wiki tags: title, titlesort * No tags seen at all * 002 4 return * most 'pandoc_*' available * meta 'tag' and 'pandoc_tag' set according to pandoc meta * meta 'abstract' and 'pandoc_abstract' empty * meta 'num_authors' is 2, 'author' content as string, 'pandoc_author' content as list * 007 1 early * Meta overwritten according to wiki tags: title, titlesort, author, etc * Otherwise unchanged from 002 4 * 007 4 return * Back to 002 4 * 013 1 early * Back to 007 1 * 013 4--027 4 continues # Working template variables The sytanx is e.g. ``. Compare template *nonempty.tmpl* with resulting HTML: * TITLE -- pandoc meta * DATE -- fallback to default `` * TITLESORT -- nothing * AUTHOR -- pandoc meta, 002 4, content as string * ABSTRACT -- noting * PANDOC_DATE -- pandoc meta * PANDOC_PRIMARY_AUTHOR -- pandoc meta * NUM_AUTHORS -- nothing * TAG -- nothing * PANDOC_TAG -- pandoc meta * PANDOC_TITLESORT -- pandoc meta * PANDOC_ABSTRACT -- nothing * PANDOC_TITLE -- pandoc meta * tags again with loop: ikiwiki meta tags again with loop: ``` | |
``` # Page template data This is for *arg-for-fripost* * identifies There is a need to also put things in subroutine *pagetemplate* to make them available as variables: ``` foreach my $k (keys %{$pagestate{$page}{meta}}) { next unless $k =~ /^(pandoc_|fripost_)/; $template->param($k => $pagestate{$page}{meta}{$k}); } $template->param('date' => $pagestate{$page}{meta}{date}); ``` Things that comes populated in page template data (*pagetemplate*) that are not available in page state data (*htmlize*) include the following: * tags * parent links Parent links as `$template->{param_map}->{parentlinks}` (loopable) and `$template->{param_map}->{has_parentlinks}` (variable bolean). The loop scope makes *page* and *url* available. Tags as `$template->{param_map}->{tags}` (loopable). The loop scope makes *link* available. # Between title and sort in htmlize Author fields filled forcefully. Title fields not. # Structure of various meta variables It is clear that scalar (*MetaInline*) are added and some list elements (*MetaList*). Most list, plain, and maps are not. Read code around "Try to add other keys as scalars, with pandoc_ prefix only." Inspect *content look for type (`t`) of meta block elements. *MetaInlines* : ``` title: Argumentera för Fripost ``` *MetaList* with 2 x *MetaInlines* : ``` author: - Fripost genom arrangörer - Fler ``` *MetaBlocks* with one *Plain* : ``` abstract: > gräv ner dig du glade ``` *MetaBlocks* with one *Plain* : ``` fripost_debug_inner: | tillagd i dokument arg-for-fripost ``` *MetaMap* with keys pointing at *MetaInlines* : ``` experiment: key_first: Värde key_second: värde ``` *MetaList* with 2 x *MetaMap* with keys pointing to *MetaInlines* : ``` references: - id: refone title: Ref-MetaInlines-in-MetaList - id: reftwo title: Ref-MetaInlines-in-MetaList ```