summaryrefslogtreecommitdiffstats
path: root/someevent.mdwn
blob: 23d108bca087b82bbccfaefd69818dff8cf55286 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
---
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: `<TMPL_VAR DATE>`

# 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
]]