--- title: Evenemang några stycken author: Fripost genom Gustav Eek date: Augusti 2019 ... Här följer en lista på evenemang. Listan skapad med ikiwikis [inline][inl_dr]-direktiv vilket tillhandahålls av [inline][inl_pl]-insticksmodulen. **Innehåll** [[!toc levels=10]] # Filtrering Passerde aktiviteter filtreras på en absolut wikietikett ([wikitag][tag]) `[[/events/done]]`. Kommande aktiviteter är således alla övriga aktiviteter. Gällande etiketterna funkar wikilänkar ([wikilink][link]) med godtycklig länktext, `[[Genomförd|/events/done]]`, men inte Pandoc-länkar, `[genomförd](done)`. Ettiketter är väsentligen dolda wikilänkar. Anledningen till att använda absoluta länkar är att mönstren (glob) for filtreringen inte verkar fungera för relativa länkar. [inl_dr]: https://ikiwiki.info/ikiwiki/directive/inline/ [inl_pl]: https://ikiwiki.info/plugins/inline/ [link]: https://ikiwiki.info/ikiwiki/wikilink/ [tag]: https://ikiwiki.info/ikiwiki/directive/tag/ # Sortering Visningsordning ska vara omvänt per datum. Tekniskt hur sidorna ska sorteras är dock inte trivialt. Läs till [sorting (pagespec)][sorting]. Idealt vore om YAML-metadatafältet *date* kunde snappats upp (se avsnitt [Metadata och Pandoc]) nedan). Förmodligen blir det ikiwiki-direktivet [meta][meta] med parameter *sortas* som gäller. [sorting]: https://ikiwiki.info/ikiwiki/pagespec/sorting/ [meta]: https://ikiwiki.info/ikiwiki/directive/meta/ # Mallar Inkluderingen kontrolleras genom ikiwikis mallar ([templates][templ]). Undertecknade identifierar två fall 1. Fullständig visning 2. Kort översiktslista, typ innehållsförteckning Den förra har standardmall *inlinepage.tmpl* (`template=inlinepage`). Den senare visar inget innehåll, bara meta-data, varför parametern `archive=yes` ska sättas, och har standardmall *archivepage.tmpl* (`template=archivepage`). Rubriker i de inkluderande dokumenten orsakar såklart problem. Förmodligen skulle man bara inkludera fram till första rubriken. [templ]: https://ikiwiki.info/ikiwiki/directive/template/ # Metadata och Pandoc {#meta} En utmaning är att konstruera mallar utifrån Pandoc YAML metadata. För det behöver insticksmodulen skrven i Perl kompletteras och eventuellt något mer. I skrivande stund (sep 2019) har undertecknade inte lyckats. En modifierad version finns i detta förråd, */.ikiwiki/IkiWiki/Plugin/pandoc.pm*. Dock är det versionen i hemkatalogen, *~/.ikiwiki/IkiWiki/Plugin/pandoc.pm* som exekveras. Processen har flera steg: 1. Pandoc 1. Extrahera YAML metadata från Markdown-filen 2. Exportera den som JSON (mellanlagring) 2. Ikiwiki 3. Gör tillgänglig som HTML mallvariabel 4. Placera i mallen: `` # Kommande [[!inline pages="events/* and !*/done and !link(*/done)" archive=yes]] # Genomförda 2013 -- empty [[!inline pages="events/2013/* and !*/done and link(*/done)" sort="meta(title)" reverse=yes archive=yes template=empty ]] # Genomförda 2013 -- nonempty [[!inline pages="events/2013/* and !*/done and link(*/done)" sort="meta(title)" reverse=yes archive=yes template=nonempty ]] # Genomförda 2013 -- fullständig [[!inline pages="events/2013/* and !*/done and link(*/done)" sort="meta(title)" reverse=yes ]]