Prezentprogramo 3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hovercraft/__init__.py +435 -0
- hovercraft/generate.py +473 -0
- hovercraft/parse.py +275 -0
- hovercraft/position.py +269 -0
- hovercraft/template.py +237 -0
- hovercraft/templates/default/css/highlight.css +61 -0
- hovercraft/templates/default/css/hovercraft.css +67 -0
- hovercraft/templates/default/js/MathJax/es5/a11y/assistive-mml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/a11y/complexity.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/a11y/explorer.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/a11y/semantic-enrich.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/a11y/sre.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/adaptors/liteDOM.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/core.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/asciimath.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/mml/entities.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/mml/extensions/mml3.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/mml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/action.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/all-packages.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/ams.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/amscd.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/autoload.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/bbox.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/boldsymbol.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/braket.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/bussproofs.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/cancel.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/cases.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/centernot.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/color.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/colortbl.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/colorv2.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/configmacros.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/empheq.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/enclose.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/extpfeil.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/gensymb.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/html.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/mathtools.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/mhchem.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/newcommand.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/noerrors.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/noundefined.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/physics.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/require.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/setoptions.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/tagformat.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/textcomp.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/textmacros.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/unicode.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/upgreek.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex/extensions/verb.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex-base.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex-full.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/input/tex.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/latest.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/loader.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/mml-chtml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/mml-svg.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/node-main.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/output/chtml/fonts/tex.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/output/chtml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/output/svg/fonts/tex.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/output/svg.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/startup.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/tex-chtml-full-speech.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/tex-chtml-full.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/tex-chtml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/tex-mml-chtml.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/tex-mml-svg.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/tex-svg-full.js +34 -0
- hovercraft/templates/default/js/MathJax/es5/tex-svg.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/ui/lazy.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/ui/menu.js +1 -0
- hovercraft/templates/default/js/MathJax/es5/ui/safe.js +1 -0
- hovercraft/templates/default/js/gotoSlide.js +51 -0
- hovercraft/templates/default/js/hovercraft.js +58 -0
- hovercraft/templates/default/js/impress.js +5009 -0
- hovercraft/templates/default/template.cfg +11 -0
- hovercraft/templates/default/template.xsl +161 -0
- hovercraft/templates/reST.xsl +535 -0
- hovercraft/templates/simple/css/highlight.css +61 -0
- hovercraft/templates/simple/css/hovercraft.css +67 -0
- hovercraft/templates/simple/js/hovercraft.js +58 -0
- hovercraft/templates/simple/js/impress.js +5009 -0
- hovercraft/templates/simple/template.cfg +10 -0
- hovercraft/templates/simple/template.xsl +162 -0
- prezentprogramo-3.1.dist-info/METADATA +143 -0
- prezentprogramo-3.1.dist-info/RECORD +94 -0
- prezentprogramo-3.1.dist-info/WHEEL +5 -0
- prezentprogramo-3.1.dist-info/entry_points.txt +5 -0
- prezentprogramo-3.1.dist-info/licenses/LICENSE.txt +254 -0
- prezentprogramo-3.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2006, Michael Alyn Miller <malyn@strangeGizmo.com>.
|
|
3
|
+
All rights reserved.
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions
|
|
7
|
+
are met:
|
|
8
|
+
|
|
9
|
+
1. Redistributions of source code must retain the above copyright
|
|
10
|
+
notice unmodified, this list of conditions, and the following
|
|
11
|
+
disclaimer.
|
|
12
|
+
2. Redistributions in binary form must reproduce the above
|
|
13
|
+
copyright notice, this list of conditions and the following
|
|
14
|
+
disclaimer in the documentation and/or other materials provided
|
|
15
|
+
with the distribution.
|
|
16
|
+
3. Neither the name of Michael Alyn Miller nor the names of the
|
|
17
|
+
contributors to this software may be used to endorse or promote
|
|
18
|
+
products derived from this software without specific prior
|
|
19
|
+
written permission.
|
|
20
|
+
|
|
21
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
|
|
22
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
23
|
+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
24
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
|
|
25
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
26
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
27
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
28
|
+
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
29
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
30
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
31
|
+
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
32
|
+
SUCH DAMAGE.
|
|
33
|
+
-->
|
|
34
|
+
|
|
35
|
+
<!--
|
|
36
|
+
Modifications by Lennart Regebro, 2018:
|
|
37
|
+
|
|
38
|
+
* Added "class" support for lists and list items.
|
|
39
|
+
|
|
40
|
+
* Added support for the HTML5 <figure> and <figcaption> tags.
|
|
41
|
+
|
|
42
|
+
Modifications by Lennart Regebro, 2013:
|
|
43
|
+
|
|
44
|
+
* Added support for the <notes>-tag.
|
|
45
|
+
|
|
46
|
+
* Changed literal block rendering from a <div class="literal-block"> to <pre>,
|
|
47
|
+
with @classes copied over to @class for syntax highlighting.
|
|
48
|
+
|
|
49
|
+
* Added support for the <inline> tag for code highlighting.
|
|
50
|
+
|
|
51
|
+
Modification by Carl Mayer, 2013:
|
|
52
|
+
|
|
53
|
+
* Skipped rendering of ReST comments.
|
|
54
|
+
|
|
55
|
+
-->
|
|
56
|
+
|
|
57
|
+
<xsl:stylesheet
|
|
58
|
+
version="1.0"
|
|
59
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
60
|
+
xmlns="http://www.w3.org/1999/xhtml">
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
<!-- Suppress the reST document title, information, and topic name.
|
|
65
|
+
These values should be pulled in by the main XSL template. -->
|
|
66
|
+
<xsl:template match="/document/title" />
|
|
67
|
+
<xsl:template match="/document/docinfo" />
|
|
68
|
+
<xsl:template match="/document/topic" />
|
|
69
|
+
|
|
70
|
+
<!-- Suppress all field lists. These are only used for 'special
|
|
71
|
+
features' implemented by the author of the site-specific reST
|
|
72
|
+
content. -->
|
|
73
|
+
<xsl:template match="field_list" />
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
<!-- ===================================================================
|
|
78
|
+
Inline elements.
|
|
79
|
+
-->
|
|
80
|
+
|
|
81
|
+
<xsl:template match="emphasis">
|
|
82
|
+
<em><xsl:apply-templates /></em>
|
|
83
|
+
</xsl:template>
|
|
84
|
+
|
|
85
|
+
<xsl:template match="literal">
|
|
86
|
+
<tt><xsl:apply-templates /></tt>
|
|
87
|
+
</xsl:template>
|
|
88
|
+
|
|
89
|
+
<xsl:template match="reference">
|
|
90
|
+
<xsl:element name="a">
|
|
91
|
+
<xsl:attribute name="href">
|
|
92
|
+
<xsl:choose>
|
|
93
|
+
<xsl:when test="@refid">
|
|
94
|
+
<xsl:value-of select="concat('#', @refid)" />
|
|
95
|
+
</xsl:when>
|
|
96
|
+
<xsl:when test="@refuri">
|
|
97
|
+
<xsl:value-of select="@refuri" />
|
|
98
|
+
</xsl:when>
|
|
99
|
+
</xsl:choose>
|
|
100
|
+
</xsl:attribute>
|
|
101
|
+
|
|
102
|
+
<xsl:apply-templates />
|
|
103
|
+
</xsl:element>
|
|
104
|
+
</xsl:template>
|
|
105
|
+
|
|
106
|
+
<xsl:template match="strong">
|
|
107
|
+
<strong><xsl:apply-templates /></strong>
|
|
108
|
+
</xsl:template>
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
<!-- ===================================================================
|
|
113
|
+
Body elements.
|
|
114
|
+
-->
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<!-- Generic body elements. -->
|
|
118
|
+
<xsl:template match="image">
|
|
119
|
+
<xsl:element name="img">
|
|
120
|
+
<xsl:attribute name="src">
|
|
121
|
+
<xsl:value-of select="@uri" />
|
|
122
|
+
</xsl:attribute>
|
|
123
|
+
<xsl:if test="@alt">
|
|
124
|
+
<xsl:attribute name="alt">
|
|
125
|
+
<xsl:value-of select="@alt" />
|
|
126
|
+
</xsl:attribute>
|
|
127
|
+
</xsl:if>
|
|
128
|
+
<xsl:if test="@width">
|
|
129
|
+
<xsl:attribute name="width">
|
|
130
|
+
<xsl:value-of select="@width" />
|
|
131
|
+
</xsl:attribute>
|
|
132
|
+
</xsl:if>
|
|
133
|
+
<xsl:if test="@height">
|
|
134
|
+
<xsl:attribute name="height">
|
|
135
|
+
<xsl:value-of select="@height" />
|
|
136
|
+
</xsl:attribute>
|
|
137
|
+
</xsl:if>
|
|
138
|
+
<xsl:if test="@classes">
|
|
139
|
+
<xsl:attribute name="class">
|
|
140
|
+
<xsl:value-of select="@classes" />
|
|
141
|
+
</xsl:attribute>
|
|
142
|
+
</xsl:if>
|
|
143
|
+
<xsl:if test="@align">
|
|
144
|
+
<xsl:attribute name="align">
|
|
145
|
+
<xsl:value-of select="@align" />
|
|
146
|
+
</xsl:attribute>
|
|
147
|
+
</xsl:if>
|
|
148
|
+
</xsl:element>
|
|
149
|
+
</xsl:template>
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
<xsl:template match="line_block">
|
|
153
|
+
<div class="line-block">
|
|
154
|
+
<xsl:apply-templates />
|
|
155
|
+
</div>
|
|
156
|
+
</xsl:template>
|
|
157
|
+
|
|
158
|
+
<xsl:template match="line_block/line">
|
|
159
|
+
<xsl:apply-templates /><br />
|
|
160
|
+
</xsl:template>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
<xsl:template match="literal_block">
|
|
164
|
+
<pre class="highlight">
|
|
165
|
+
<xsl:attribute name="class">
|
|
166
|
+
<xsl:value-of select="concat('highlight ', @classes)" />
|
|
167
|
+
</xsl:attribute>
|
|
168
|
+
<xsl:apply-templates />
|
|
169
|
+
</pre>
|
|
170
|
+
</xsl:template>
|
|
171
|
+
|
|
172
|
+
<xsl:template match="literal_block/br">
|
|
173
|
+
<br />
|
|
174
|
+
</xsl:template>
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
<xsl:template match="math_block">
|
|
178
|
+
<xsl:element name="div">
|
|
179
|
+
<xsl:attribute name="class">
|
|
180
|
+
<xsl:value-of select="concat('math-block ', @classes)" />
|
|
181
|
+
</xsl:attribute>
|
|
182
|
+
<xsl:text>$$\begin{align}</xsl:text><xsl:apply-templates /><xsl:text>\end{align}$$</xsl:text>
|
|
183
|
+
</xsl:element>
|
|
184
|
+
</xsl:template>
|
|
185
|
+
|
|
186
|
+
<xsl:template match="math">
|
|
187
|
+
<xsl:element name="span">
|
|
188
|
+
<xsl:attribute name="class">
|
|
189
|
+
<xsl:value-of select="concat('math ', @classes)" />
|
|
190
|
+
</xsl:attribute>
|
|
191
|
+
<xsl:text>\(</xsl:text><xsl:apply-templates /><xsl:text>\)</xsl:text>
|
|
192
|
+
</xsl:element>
|
|
193
|
+
</xsl:template>
|
|
194
|
+
|
|
195
|
+
<xsl:template match="paragraph">
|
|
196
|
+
<p>
|
|
197
|
+
<xsl:if test="@classes">
|
|
198
|
+
<xsl:attribute name="class">
|
|
199
|
+
<xsl:value-of select="@classes" />
|
|
200
|
+
</xsl:attribute>
|
|
201
|
+
</xsl:if>
|
|
202
|
+
<xsl:apply-templates />
|
|
203
|
+
</p>
|
|
204
|
+
</xsl:template>
|
|
205
|
+
|
|
206
|
+
<xsl:template match="container">
|
|
207
|
+
<div>
|
|
208
|
+
<xsl:if test="@classes">
|
|
209
|
+
<xsl:attribute name="class">
|
|
210
|
+
<xsl:value-of select="@classes" />
|
|
211
|
+
</xsl:attribute>
|
|
212
|
+
</xsl:if>
|
|
213
|
+
<xsl:if test="@ids">
|
|
214
|
+
<xsl:attribute name="id">
|
|
215
|
+
<xsl:value-of select="@ids" />
|
|
216
|
+
</xsl:attribute>
|
|
217
|
+
</xsl:if>
|
|
218
|
+
<xsl:apply-templates />
|
|
219
|
+
</div>
|
|
220
|
+
</xsl:template>
|
|
221
|
+
|
|
222
|
+
<xsl:template match="substitution_definition" />
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<!-- reST block quotes get prepended with a paragraph that reads
|
|
227
|
+
"ATTRIBUTION wrote:" where ATTRIBUTION is the contents of the
|
|
228
|
+
reStructuredText attribution (the information after the
|
|
229
|
+
double-hyphens). -->
|
|
230
|
+
<xsl:template match="block_quote">
|
|
231
|
+
<blockquote>
|
|
232
|
+
<xsl:apply-templates/>
|
|
233
|
+
</blockquote>
|
|
234
|
+
|
|
235
|
+
<xsl:if test="./attribution">
|
|
236
|
+
<div class="cite">
|
|
237
|
+
<span class="cite_label">Source: </span>
|
|
238
|
+
<cite><xsl:apply-templates select="attribution/*|attribution/text()" /></cite>
|
|
239
|
+
</div>
|
|
240
|
+
</xsl:if>
|
|
241
|
+
</xsl:template>
|
|
242
|
+
|
|
243
|
+
<!-- Suppress block_quote/attribution elements since we grab the text of
|
|
244
|
+
the attribution from the block_quote template. -->
|
|
245
|
+
<xsl:template match="block_quote/attribution" />
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
<!-- Footnote references are wrapped in brackets ([..]) and enclosed in
|
|
249
|
+
an anchor tag with the class "footnoteref". -->
|
|
250
|
+
<xsl:template match="footnote_reference">
|
|
251
|
+
<xsl:element name="a">
|
|
252
|
+
<xsl:attribute name="class">footnoteref</xsl:attribute>
|
|
253
|
+
<xsl:attribute name="id">
|
|
254
|
+
<xsl:text>footnote-backref-</xsl:text>
|
|
255
|
+
<xsl:value-of select="@ids" />
|
|
256
|
+
</xsl:attribute>
|
|
257
|
+
<xsl:attribute name="href">
|
|
258
|
+
<xsl:text>#footnote-</xsl:text>
|
|
259
|
+
<xsl:value-of select="@refid" />
|
|
260
|
+
</xsl:attribute>
|
|
261
|
+
|
|
262
|
+
<xsl:text>[</xsl:text>
|
|
263
|
+
<xsl:apply-templates />
|
|
264
|
+
<xsl:text>]</xsl:text>
|
|
265
|
+
</xsl:element>
|
|
266
|
+
</xsl:template>
|
|
267
|
+
|
|
268
|
+
<!-- The footnote itself is wrapped in a div tag with a class of
|
|
269
|
+
"footnote". The footnote begins with an anchor tag (class name
|
|
270
|
+
"footnotereturn") that links back to the part of the document where
|
|
271
|
+
the footnote appeared. -->
|
|
272
|
+
<xsl:template match="footnote">
|
|
273
|
+
<xsl:element name="div">
|
|
274
|
+
<xsl:attribute name="class">footnote</xsl:attribute>
|
|
275
|
+
<xsl:attribute name="id">
|
|
276
|
+
<xsl:text>footnote-</xsl:text>
|
|
277
|
+
<xsl:value-of select="@ids" />
|
|
278
|
+
</xsl:attribute>
|
|
279
|
+
|
|
280
|
+
<xsl:element name="a">
|
|
281
|
+
<xsl:attribute name="class">footnotereturn</xsl:attribute>
|
|
282
|
+
<xsl:attribute name="href">
|
|
283
|
+
<xsl:text>#footnote-backref-</xsl:text>
|
|
284
|
+
<xsl:value-of select="@backrefs" />
|
|
285
|
+
</xsl:attribute>
|
|
286
|
+
<xsl:attribute name="title">
|
|
287
|
+
<xsl:text>return to content</xsl:text>
|
|
288
|
+
</xsl:attribute>
|
|
289
|
+
|
|
290
|
+
<xsl:text>#</xsl:text>
|
|
291
|
+
<xsl:value-of select="label" />
|
|
292
|
+
<xsl:text>: </xsl:text>
|
|
293
|
+
</xsl:element>
|
|
294
|
+
|
|
295
|
+
<xsl:apply-templates />
|
|
296
|
+
</xsl:element>
|
|
297
|
+
</xsl:template>
|
|
298
|
+
<xsl:template match="footnote/label" />
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
<!-- Basic lists. -->
|
|
302
|
+
<xsl:template match="bullet_list">
|
|
303
|
+
<ul>
|
|
304
|
+
<xsl:if test="@classes">
|
|
305
|
+
<xsl:attribute name="class">
|
|
306
|
+
<xsl:value-of select="@classes" />
|
|
307
|
+
</xsl:attribute>
|
|
308
|
+
</xsl:if>
|
|
309
|
+
<xsl:apply-templates />
|
|
310
|
+
</ul>
|
|
311
|
+
</xsl:template>
|
|
312
|
+
|
|
313
|
+
<xsl:template match="enumerated_list">
|
|
314
|
+
<ol>
|
|
315
|
+
<xsl:if test="@classes">
|
|
316
|
+
<xsl:attribute name="class">
|
|
317
|
+
<xsl:value-of select="@classes" />
|
|
318
|
+
</xsl:attribute>
|
|
319
|
+
</xsl:if>
|
|
320
|
+
<xsl:apply-templates />
|
|
321
|
+
</ol>
|
|
322
|
+
</xsl:template>
|
|
323
|
+
|
|
324
|
+
<!-- Basic list items. -->
|
|
325
|
+
<xsl:template match="list_item">
|
|
326
|
+
<li>
|
|
327
|
+
<xsl:if test="@classes">
|
|
328
|
+
<xsl:attribute name="class">
|
|
329
|
+
<xsl:value-of select="@classes" />
|
|
330
|
+
</xsl:attribute>
|
|
331
|
+
</xsl:if>
|
|
332
|
+
<xsl:apply-templates />
|
|
333
|
+
</li>
|
|
334
|
+
</xsl:template>
|
|
335
|
+
|
|
336
|
+
<!-- TODO Lists are currently stripped of their paragraph wrapping.
|
|
337
|
+
This may or may not be what you want. You could use a match value
|
|
338
|
+
of "list_item/paragraph[count(child::*) = 0]" to detect simple vs.
|
|
339
|
+
complex paragraphs, although this would also catch inline elements.
|
|
340
|
+
A stunningly-complex match value should probably be created to
|
|
341
|
+
detect the list type (simple or complex) and then put all of the
|
|
342
|
+
items into the same wrapper (either a p tag or a bare list item). -->
|
|
343
|
+
<xsl:template match="list_item/paragraph">
|
|
344
|
+
<xsl:apply-templates />
|
|
345
|
+
</xsl:template>
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
<!-- Definition lists. -->
|
|
349
|
+
<xsl:template match="definition_list">
|
|
350
|
+
<dl><xsl:apply-templates /></dl>
|
|
351
|
+
</xsl:template>
|
|
352
|
+
|
|
353
|
+
<xsl:template match="definition_list_item/term">
|
|
354
|
+
<dt><xsl:apply-templates /></dt>
|
|
355
|
+
</xsl:template>
|
|
356
|
+
|
|
357
|
+
<xsl:template match="definition_list_item/definition">
|
|
358
|
+
<dd><xsl:apply-templates /></dd>
|
|
359
|
+
</xsl:template>
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
<!-- Option lists. -->
|
|
363
|
+
<xsl:template match="option_list">
|
|
364
|
+
<table class="option-list" cellpadding="0" cellspacing="0">
|
|
365
|
+
<tr>
|
|
366
|
+
<th>Option</th>
|
|
367
|
+
<th>Description</th>
|
|
368
|
+
</tr>
|
|
369
|
+
|
|
370
|
+
<xsl:apply-templates />
|
|
371
|
+
</table>
|
|
372
|
+
</xsl:template>
|
|
373
|
+
|
|
374
|
+
<xsl:template match="option_list_item">
|
|
375
|
+
<tr><xsl:apply-templates /></tr>
|
|
376
|
+
</xsl:template>
|
|
377
|
+
|
|
378
|
+
<xsl:template match="option_group">
|
|
379
|
+
<td>
|
|
380
|
+
<xsl:for-each select="option">
|
|
381
|
+
<xsl:apply-templates select="." /><br />
|
|
382
|
+
</xsl:for-each>
|
|
383
|
+
</td>
|
|
384
|
+
</xsl:template>
|
|
385
|
+
|
|
386
|
+
<xsl:template match="option_group/option">
|
|
387
|
+
<span class="option-string"><xsl:value-of select="option_string" /></span>
|
|
388
|
+
<xsl:if test="option_argument">
|
|
389
|
+
<span class="option-delimiter"><xsl:value-of select="option_argument/@delimiter" /></span>
|
|
390
|
+
<span class="option-argument"><xsl:value-of select="option_argument" /></span>
|
|
391
|
+
</xsl:if>
|
|
392
|
+
</xsl:template>
|
|
393
|
+
|
|
394
|
+
<xsl:template match="option_list_item/description">
|
|
395
|
+
<td><xsl:apply-templates /></td>
|
|
396
|
+
</xsl:template>
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
<!-- Raw HTML elements are passed straight through. Note that this
|
|
400
|
+
assumes that the output document is an XHTML document. -->
|
|
401
|
+
<xsl:template match="raw[@format='html']">
|
|
402
|
+
<xsl:value-of select="." disable-output-escaping="yes" />
|
|
403
|
+
</xsl:template>
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
<!-- Section titles are wrapped in a heading tag. The heading level
|
|
407
|
+
(h1, h2, h3, etc.) is set by counting the number of parent sections
|
|
408
|
+
that this section is enclosed in. -->
|
|
409
|
+
<xsl:template match="section/title">
|
|
410
|
+
<xsl:element name="{concat('h', format-number(count(ancestor::section), '#'))}">
|
|
411
|
+
<xsl:attribute name="id">
|
|
412
|
+
<xsl:value-of select="parent::section/@ids" />
|
|
413
|
+
</xsl:attribute>
|
|
414
|
+
|
|
415
|
+
<xsl:apply-templates />
|
|
416
|
+
</xsl:element>
|
|
417
|
+
</xsl:template>
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
<!-- Tables.
|
|
421
|
+
|
|
422
|
+
These are pretty much handled as you would expect. The only custom
|
|
423
|
+
feature is a pair of special fields that can be used to control the
|
|
424
|
+
horizontal and vertical alignment of the table cells.
|
|
425
|
+
|
|
426
|
+
If you want to set a custom horizontal alignment, include the field
|
|
427
|
+
":table-cell-halign:" directly before the table. Each of the cells
|
|
428
|
+
(td elements) will include an "align" attribute with the specified
|
|
429
|
+
value.
|
|
430
|
+
|
|
431
|
+
A similar field exists for specifying the valign value. This field
|
|
432
|
+
is called ":table-cell-valign:". -->
|
|
433
|
+
<xsl:template match="table">
|
|
434
|
+
<table cellpadding="0" cellspacing="0">
|
|
435
|
+
<xsl:if test="@classes">
|
|
436
|
+
<xsl:attribute name="class">
|
|
437
|
+
<xsl:value-of select="@classes" />
|
|
438
|
+
</xsl:attribute>
|
|
439
|
+
</xsl:if>
|
|
440
|
+
<xsl:if test="@ids">
|
|
441
|
+
<xsl:attribute name="id">
|
|
442
|
+
<xsl:value-of select="@ids" />
|
|
443
|
+
</xsl:attribute>
|
|
444
|
+
</xsl:if>
|
|
445
|
+
<xsl:apply-templates />
|
|
446
|
+
</table>
|
|
447
|
+
</xsl:template>
|
|
448
|
+
|
|
449
|
+
<xsl:template match="thead">
|
|
450
|
+
<thead><xsl:apply-templates /></thead>
|
|
451
|
+
</xsl:template>
|
|
452
|
+
|
|
453
|
+
<xsl:template match="thead/row">
|
|
454
|
+
<tr><xsl:apply-templates /></tr>
|
|
455
|
+
</xsl:template>
|
|
456
|
+
|
|
457
|
+
<xsl:template match="thead/row/entry">
|
|
458
|
+
<xsl:element name="th">
|
|
459
|
+
<xsl:if test="@morecols">
|
|
460
|
+
<xsl:attribute name="colspan">
|
|
461
|
+
<xsl:value-of select="format-number(1 + @morecols, '#')" />
|
|
462
|
+
</xsl:attribute>
|
|
463
|
+
</xsl:if>
|
|
464
|
+
<xsl:if test="@morerows">
|
|
465
|
+
<xsl:attribute name="rowspan">
|
|
466
|
+
<xsl:value-of select="format-number(1 + @morerows, '#')" />
|
|
467
|
+
</xsl:attribute>
|
|
468
|
+
</xsl:if>
|
|
469
|
+
|
|
470
|
+
<xsl:apply-templates />
|
|
471
|
+
</xsl:element>
|
|
472
|
+
</xsl:template>
|
|
473
|
+
|
|
474
|
+
<xsl:template match="tbody">
|
|
475
|
+
<tbody><xsl:apply-templates /></tbody>
|
|
476
|
+
</xsl:template>
|
|
477
|
+
|
|
478
|
+
<xsl:template match="tbody/row">
|
|
479
|
+
<tr><xsl:apply-templates /></tr>
|
|
480
|
+
</xsl:template>
|
|
481
|
+
|
|
482
|
+
<xsl:template match="tbody/row/entry">
|
|
483
|
+
<xsl:element name="td">
|
|
484
|
+
<xsl:if test="@morecols">
|
|
485
|
+
<xsl:attribute name="colspan">
|
|
486
|
+
<xsl:value-of select="format-number(1 + @morecols, '#')" />
|
|
487
|
+
</xsl:attribute>
|
|
488
|
+
</xsl:if>
|
|
489
|
+
<xsl:if test="@morerows">
|
|
490
|
+
<xsl:attribute name="rowspan">
|
|
491
|
+
<xsl:value-of select="format-number(1 + @morerows, '#')" />
|
|
492
|
+
</xsl:attribute>
|
|
493
|
+
</xsl:if>
|
|
494
|
+
<xsl:if test="ancestor::table/preceding-sibling::*[1]/field/field_name[text()='table-cell-halign']">
|
|
495
|
+
<xsl:attribute name="align">
|
|
496
|
+
<xsl:value-of select="ancestor::table/preceding-sibling::*[1]/field/field_name[text()='table-cell-halign']/../field_body/paragraph" />
|
|
497
|
+
</xsl:attribute>
|
|
498
|
+
</xsl:if>
|
|
499
|
+
<xsl:if test="ancestor::table/preceding-sibling::*[1]/field/field_name[text()='table-cell-valign']">
|
|
500
|
+
<xsl:attribute name="valign">
|
|
501
|
+
<xsl:value-of select="ancestor::table/preceding-sibling::*[1]/field/field_name[text()='table-cell-valign']/../field_body/paragraph" />
|
|
502
|
+
</xsl:attribute>
|
|
503
|
+
</xsl:if>
|
|
504
|
+
|
|
505
|
+
<xsl:apply-templates />
|
|
506
|
+
</xsl:element>
|
|
507
|
+
</xsl:template>
|
|
508
|
+
|
|
509
|
+
<xsl:template match="inline">
|
|
510
|
+
<span>
|
|
511
|
+
<xsl:attribute name="class">
|
|
512
|
+
<xsl:value-of select="@classes" />
|
|
513
|
+
</xsl:attribute>
|
|
514
|
+
<xsl:apply-templates />
|
|
515
|
+
</span>
|
|
516
|
+
</xsl:template>
|
|
517
|
+
|
|
518
|
+
<xsl:template match="figure">
|
|
519
|
+
<figure>
|
|
520
|
+
<xsl:apply-templates />
|
|
521
|
+
</figure>
|
|
522
|
+
</xsl:template>
|
|
523
|
+
|
|
524
|
+
<xsl:template match="figure/caption">
|
|
525
|
+
<figcaption>
|
|
526
|
+
<xsl:apply-templates />
|
|
527
|
+
</figcaption>
|
|
528
|
+
</xsl:template>
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
<!-- Skip ReST comments -->
|
|
532
|
+
<xsl:template match="comment">
|
|
533
|
+
</xsl:template>
|
|
534
|
+
|
|
535
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.highlight .hll { background-color: #ffffcc }
|
|
2
|
+
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
|
3
|
+
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
|
4
|
+
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
|
5
|
+
.highlight .o { color: #666666 } /* Operator */
|
|
6
|
+
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
|
7
|
+
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
|
8
|
+
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
|
9
|
+
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
|
10
|
+
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
|
11
|
+
.highlight .ge { font-style: italic } /* Generic.Emph */
|
|
12
|
+
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
|
13
|
+
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
14
|
+
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
|
15
|
+
.highlight .go { color: #303030 } /* Generic.Output */
|
|
16
|
+
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
|
17
|
+
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
|
18
|
+
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
|
19
|
+
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
|
|
20
|
+
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
|
21
|
+
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
|
22
|
+
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
|
23
|
+
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
|
24
|
+
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
|
25
|
+
.highlight .kt { color: #902000 } /* Keyword.Type */
|
|
26
|
+
.highlight .m { color: #208050 } /* Literal.Number */
|
|
27
|
+
.highlight .s { color: #4070a0 } /* Literal.String */
|
|
28
|
+
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
|
29
|
+
.highlight .nb { color: #007020 } /* Name.Builtin */
|
|
30
|
+
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
|
31
|
+
.highlight .no { color: #60add5 } /* Name.Constant */
|
|
32
|
+
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
|
33
|
+
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
|
34
|
+
.highlight .ne { color: #007020 } /* Name.Exception */
|
|
35
|
+
.highlight .nf { color: #06287e } /* Name.Function */
|
|
36
|
+
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
|
37
|
+
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
|
38
|
+
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
|
39
|
+
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
|
40
|
+
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
|
41
|
+
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
|
42
|
+
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
|
43
|
+
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
|
44
|
+
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
|
45
|
+
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
|
46
|
+
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
|
47
|
+
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
|
48
|
+
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
|
49
|
+
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
|
50
|
+
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
|
51
|
+
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
|
52
|
+
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
|
53
|
+
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
|
54
|
+
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
|
55
|
+
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
|
56
|
+
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
|
57
|
+
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
|
58
|
+
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
|
59
|
+
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
|
60
|
+
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
|
61
|
+
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* This file left intentionally (almost) blank
|
|
2
|
+
|
|
3
|
+
Landslide always adds a print.css and a screen.css, but they
|
|
4
|
+
are not needed in impress.js, so this theme leaves them blank,
|
|
5
|
+
except for hiding some things you want to hide.
|
|
6
|
+
|
|
7
|
+
You can modify these files in your own fork, or you can add
|
|
8
|
+
css-files in the landslide configuration file.
|
|
9
|
+
See https://github.com/adamzap/landslide#presentation-configuration
|
|
10
|
+
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
.impress-supported .fallback-message,
|
|
14
|
+
.step .notes {
|
|
15
|
+
display: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.substep {
|
|
19
|
+
opacity: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.substep.substep-visible {
|
|
23
|
+
opacity: 1;
|
|
24
|
+
transition: opacity 1s;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
/* Help popup */
|
|
29
|
+
|
|
30
|
+
#impress-help {
|
|
31
|
+
background: none repeat scroll 0 0 rgba(0, 0, 0, 0.7);
|
|
32
|
+
color: #EEEEEE;
|
|
33
|
+
font-size: 60%;
|
|
34
|
+
left: 2em;
|
|
35
|
+
bottom: 2em;
|
|
36
|
+
width: 30em;
|
|
37
|
+
border-radius: 1em;
|
|
38
|
+
padding: 1em;
|
|
39
|
+
position: fixed;
|
|
40
|
+
right: 0;
|
|
41
|
+
text-align: center;
|
|
42
|
+
z-index: 100;
|
|
43
|
+
display: block;
|
|
44
|
+
font-family: Verdana, Arial, Sans;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#impress-help strong {
|
|
48
|
+
font-family: inherit;
|
|
49
|
+
font-size: 98%;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Small hack to prevent the help from showing in previews */
|
|
53
|
+
.impress-console #impress-help {
|
|
54
|
+
opacity: 0;
|
|
55
|
+
background-color: green;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Slide numbers */
|
|
59
|
+
|
|
60
|
+
div#slide-number
|
|
61
|
+
{
|
|
62
|
+
bottom: 1em;
|
|
63
|
+
font-size: 5vh;
|
|
64
|
+
position: absolute;
|
|
65
|
+
right: 2.5em;
|
|
66
|
+
text-align: right;
|
|
67
|
+
}
|