My theme for forester (+plugins)
1<?xml version="1.0"?>
2<!-- SPDX-License-Identifier: CC0-1.0 -->
3<xsl:stylesheet version="1.0"
4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 xmlns:f="http://www.forester-notes.org">
6
7 <xsl:template match="f:month[.='1']">
8 <xsl:text>January</xsl:text>
9 </xsl:template>
10
11 <xsl:template match="f:month[.='2']">
12 <xsl:text>February</xsl:text>
13 </xsl:template>
14
15 <xsl:template match="f:month[.='3']">
16 <xsl:text>March</xsl:text>
17 </xsl:template>
18
19 <xsl:template match="f:month[.='4']">
20 <xsl:text>April</xsl:text>
21 </xsl:template>
22
23 <xsl:template match="f:month[.='5']">
24 <xsl:text>May</xsl:text>
25 </xsl:template>
26
27 <xsl:template match="f:month[.='6']">
28 <xsl:text>June</xsl:text>
29 </xsl:template>
30
31 <xsl:template match="f:month[.='7']">
32 <xsl:text>July</xsl:text>
33 </xsl:template>
34
35 <xsl:template match="f:month[.='8']">
36 <xsl:text>August</xsl:text>
37 </xsl:template>
38
39 <xsl:template match="f:month[.='9']">
40 <xsl:text>September</xsl:text>
41 </xsl:template>
42
43 <xsl:template match="f:month[.='10']">
44 <xsl:text>October</xsl:text>
45 </xsl:template>
46
47 <xsl:template match="f:month[.='11']">
48 <xsl:text>November</xsl:text>
49 </xsl:template>
50
51 <xsl:template match="f:month[.='12']">
52 <xsl:text>December</xsl:text>
53 </xsl:template>
54
55 <xsl:template match="f:year">
56 <xsl:apply-templates />
57 </xsl:template>
58
59 <xsl:template match="f:day">
60 <xsl:apply-templates />
61 </xsl:template>
62
63 <xsl:template match="f:date" mode="date-inner">
64 <xsl:apply-templates select="f:month" />
65 <xsl:if test="f:day">
66 <xsl:text> </xsl:text>
67 <xsl:apply-templates select="f:day" />
68 </xsl:if>
69 <xsl:if test="f:month">
70 <xsl:text>, </xsl:text>
71 </xsl:if>
72 <xsl:apply-templates select="f:year" />
73 </xsl:template>
74
75 <xsl:template match="f:date[@href]">
76 <li class="meta-item">
77 <a class="link local" href="{@href}">
78 <xsl:apply-templates select="." mode="date-inner" />
79 </a>
80 </li>
81 </xsl:template>
82
83 <xsl:template match="f:date[not(@href)]">
84 <li class="meta-item">
85 <xsl:apply-templates select="." mode="date-inner" />
86 </li>
87 </xsl:template>
88
89 <xsl:template match="f:authors">
90 <xsl:if test="f:author or f:contributor">
91 <li class="meta-item">
92 <address class="author">
93 <xsl:for-each select="f:author">
94 <xsl:apply-templates />
95 <xsl:if test="position()!=last()">
96 <xsl:text>,  </xsl:text>
97 </xsl:if>
98 </xsl:for-each>
99 <xsl:if test="f:contributor">
100 <xsl:text> with contributions from </xsl:text>
101 <xsl:for-each select="f:contributor">
102 <xsl:apply-templates />
103 <xsl:if test="position()!=last()">
104 <xsl:text>, </xsl:text>
105 </xsl:if>
106 </xsl:for-each>
107 </xsl:if>
108 </address>
109 </li>
110 </xsl:if>
111 </xsl:template>
112
113 <xsl:template match="f:meta[@name='doi']">
114 <li class="meta-item">
115 <a class="doi link" href="{concat('https://www.doi.org/', .)}">
116 <xsl:value-of select="." />
117 </a>
118 </li>
119 </xsl:template>
120
121 <xsl:template match="f:meta[@name='orcid']">
122 <li class="meta-item">
123 <a class="orcid" href="{concat('https://orcid.org/', .)}">
124 <xsl:value-of select="." />
125 </a>
126 </li>
127 </xsl:template>
128
129 <xsl:template match="f:meta[@name='bibtex']">
130 <pre>
131 <xsl:value-of select="." />
132 </pre>
133 </xsl:template>
134
135 <xsl:template match="f:meta[@name='venue']|f:meta[@name='position']|f:meta[@name='institution']|f:meta[@name='source']">
136 <li class="meta-item">
137 <xsl:apply-templates />
138 </li>
139 </xsl:template>
140
141 <xsl:template match="f:meta[@name='external']">
142 <li class="meta-item">
143 <a class="link external" href="{.}">
144 <xsl:value-of select="." />
145 </a>
146 </li>
147 </xsl:template>
148
149 <xsl:template match="f:meta[@name='slides']">
150 <li class="meta-item">
151 <a class="link external" href="{.}">
152 <xsl:text>Slides</xsl:text>
153 </a>
154 </li>
155 </xsl:template>
156 <xsl:template match="f:meta[@name='download']">
157 <li class="meta-item">
158 <a class="link external" href="{.}">
159 <xsl:text>Download</xsl:text>
160 </a>
161 </li>
162 </xsl:template>
163 <xsl:template match="f:meta[@name='video']">
164 <li class="meta-item">
165 <a class="link external" href="{.}">
166 <xsl:text>Video</xsl:text>
167 </a>
168 </li>
169 </xsl:template>
170
171</xsl:stylesheet>