html: avoid horizontal overflows, break-word and limit image width
[pve-docs.git] / asciidoc / pve-html.conf
1 #
2 # html5.conf
3 #
4 # Asciidoc configuration file.
5 # html5 backend.
6 #
7 # modified for Proxmox VE docs
8 # - add thumbnail attribute
9 # - s!./stylesheets!/etc/asciidoc/stylesheets!g
10 # - s!./javascripts!/etc/asciidoc/javascripts!g
11
12 [miscellaneous]
13 outfilesuffix=.html
14
15 [attributes]
16 basebackend=html
17 basebackend-html=
18 basebackend-html5=
19
20 [replacements2]
21 # Line break.
22 (?m)^(.*)\s\+$=\1<br>
23
24 [replacements]
25 ifdef::asciidoc7compatible[]
26 # Superscripts.
27 \^(.+?)\^=<sup>\1</sup>
28 # Subscripts.
29 ~(.+?)~=<sub>\1</sub>
30 endif::asciidoc7compatible[]
31
32 [ruler-blockmacro]
33 <hr>
34
35 [pagebreak-blockmacro]
36 <div style="page-break-after:always"></div>
37
38 [blockdef-pass]
39 asciimath-style=template="asciimathblock",subs=()
40 latexmath-style=template="latexmathblock",subs=()
41
42 [macros]
43 (?u)^(?P<name>audio|video)::(?P<target>\S*?)(\[(?P<attrlist>.*?)\])$=#
44 # math macros.
45 # Special characters are escaped in HTML math markup.
46 (?su)[\\]?(?P<name>asciimath|latexmath):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[specialcharacters]
47 (?u)^(?P<name>asciimath|latexmath)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#[specialcharacters]
48
49 [asciimath-inlinemacro]
50 `{passtext}`
51
52 [asciimath-blockmacro]
53 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
54 <div class="content">
55 <div class="title">{title}</div>
56 `{passtext}`
57 </div></div>
58
59 [asciimathblock]
60 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
61 <div class="content">
62 <div class="title">{title}</div>
63 `|`
64 </div></div>
65
66 [latexmath-inlinemacro]
67 {passtext}
68
69 [latexmath-blockmacro]
70 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
71 <div class="content">
72 <div class="title">{title}</div>
73 {passtext}
74 </div></div>
75
76 [latexmathblock]
77 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
78 <div class="content">
79 <div class="title">{title}</div>
80 |
81 </div></div>
82
83 [image-inlinemacro]
84 <span class="image{role? {role}}">
85 <a class="image" href="{link}">
86 {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}>
87 {data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}
88 {data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print 'src=\"data:'+mimetypes.guess_type(r'{target}')[0]+';base64,'; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}">
89 {link#}</a>
90 </span>
91
92 [image-blockmacro]
93 <div class="imageblock{style? {style}}{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}>
94 <div class="content">
95 <a class="image" href="{link}">
96 {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}>
97 {data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}
98 {data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print 'src=\"data:'+mimetypes.guess_type(r'{target}')[0]+';base64,'; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}">
99 {link#}</a>
100 </div>
101 <div class="title">{caption={figure-caption} {counter:figure-number}. }{title}</div>
102 </div>
103
104 [audio-blockmacro]
105 <div class="audioblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
106 <div class="title">{caption=}{title}</div>
107 <div class="content">
108 <audio src="{imagesdir=}{imagesdir?/}{target}"{autoplay-option? autoplay}{nocontrols-option! controls}{loop-option? loop}>
109 Your browser does not support the audio tag.
110 </audio>
111 </div></div>
112
113 [video-blockmacro]
114 <div class="videoblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
115 <div class="title">{caption=}{title}</div>
116 <div class="content">
117 <video src="{imagesdir=}{imagesdir?/}{target}"{width? width="{width}"}{height? height="{height}"}{poster? poster="{poster}"}{autoplay-option? autoplay}{nocontrols-option! controls}{loop-option? loop}>
118 Your browser does not support the video tag.
119 </video>
120 </div></div>
121
122 [unfloat-blockmacro]
123 <div style="clear:both;"></div>
124
125 [toc-blockmacro]
126 template::[toc]
127
128 [indexterm-inlinemacro]
129 # Index term.
130 {empty}
131
132 [indexterm2-inlinemacro]
133 # Index term.
134 # Single entry index term that is visible in the primary text flow.
135 {1}
136
137 [footnote-inlinemacro]
138 # footnote:[<text>].
139 <span class="footnote"><br>[{0}]<br></span>
140
141 [footnoteref-inlinemacro]
142 # footnoteref:[<id>], create reference to footnote.
143 {2%}<span class="footnoteref"><br><a href="#_footnote_{1}">[{1}]</a><br></span>
144 # footnoteref:[<id>,<text>], create footnote with ID.
145 {2#}<span class="footnote" id="_footnote_{1}"><br>[{2}]<br></span>
146
147 [callout-inlinemacro]
148 ifndef::icons[]
149 <b>&lt;{index}&gt;</b>
150 endif::icons[]
151 ifdef::icons[]
152 ifndef::data-uri[]
153 <img src="{icon={iconsdir}/callouts/{index}.png}" alt="{index}">
154 endif::data-uri[]
155 ifdef::data-uri[]
156 <img alt="{index}" src="data:image/png;base64,
157 {sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/callouts/{index}.png}")}"}">
158 endif::data-uri[]
159 endif::icons[]
160
161 # Comment line macros.
162 [comment-inlinemacro]
163 {showcomments#}<br><span class="comment">{passtext}</span><br>
164
165 [comment-blockmacro]
166 {showcomments#}<p><span class="comment">{passtext}</span></p>
167
168 [literal-inlinemacro]
169 # Inline literal.
170 <span class="monospaced">{passtext}</span>
171
172 # List tags.
173 [listtags-bulleted]
174 list=<div class="ulist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
175 item=<li>|</li>
176 text=<p>|</p>
177
178 [listtags-numbered]
179 # The start attribute is not valid XHTML 1.1 but all browsers support it.
180 list=<div class="olist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol class="{style}"{start? start="{start}"}>|</ol></div>
181 item=<li>|</li>
182 text=<p>|</p>
183
184 [listtags-labeled]
185 list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
186 entry=
187 label=
188 term=<dt class="hdlist1{strong-option? strong}">|</dt>
189 item=<dd>|</dd>
190 text=<p>|</p>
191
192 [listtags-horizontal]
193 list=<div class="hdlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>{labelwidth?<col width="{labelwidth}%">}{itemwidth?<col width="{itemwidth}%">}|</table></div>
194 label=<td class="hdlist1{strong-option? strong}">|</td>
195 term=|<br>
196 entry=<tr>|</tr>
197 item=<td class="hdlist2">|</td>
198 text=<p style="margin-top: 0;">|</p>
199
200 [listtags-qanda]
201 list=<div class="qlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
202 entry=<li>|</li>
203 label=
204 term=<p><em>|</em></p>
205 item=
206 text=<p>|</p>
207
208 [listtags-callout]
209 ifndef::icons[]
210 list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
211 item=<li>|</li>
212 text=<p>|</p>
213 endif::icons[]
214 ifdef::icons[]
215 list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>|</table></div>
216 ifndef::data-uri[]
217 item=<tr><td><img src="{iconsdir}/callouts/{listindex}.png" alt="{listindex}"></td><td>|</td></tr>
218 endif::data-uri[]
219 ifdef::data-uri[]
220 item=<tr><td><img alt="{listindex}" src="data:image/png;base64, {sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/callouts/{listindex}.png}")}"}"></td><td>|</td></tr>
221 endif::data-uri[]
222 text=|
223 endif::icons[]
224
225 [listtags-glossary]
226 list=<div class="dlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
227 label=
228 entry=
229 term=<dt>|</dt>
230 item=<dd>|</dd>
231 text=<p>|</p>
232
233 [listtags-bibliography]
234 list=<div class="ulist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
235 item=<li>|</li>
236 text=<p>|</p>
237
238 [tags]
239 # Quoted text.
240 emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em>
241 strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong>
242 monospaced=<span class="monospaced{1? {1}}">|</span>
243 singlequoted={lsquo}{1?<span class="{1}">}|{1?</span>}{rsquo}
244 doublequoted={ldquo}{1?<span class="{1}">}|{1?</span>}{rdquo}
245 unquoted={1?<span class="{1}">}|{1?</span>}
246 superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup>
247 subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub>
248
249 ifdef::deprecated-quotes[]
250 # Override with deprecated quote attributes.
251 emphasis={role?<span class="{role}">}<em{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</em>{role?</span>}
252 strong={role?<span class="{role}">}<strong{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</strong>{role?</span>}
253 monospaced=<span class="monospaced{role? {role}}"{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</span>
254 singlequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8216;|{amp}#8217;{1,2,3?</span>}{role?</span>}
255 doublequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8220;|{amp}#8221;{1,2,3?</span>}{role?</span>}
256 unquoted={role?<span class="{role}">}{1,2,3?<span style="{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}">}|{1,2,3?</span>}{role?</span>}
257 superscript={role?<span class="{role}">}<sup{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sup>{role?</span>}
258 subscript={role?<span class="{role}">}<sub{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sub>{role?</span>}
259 endif::deprecated-quotes[]
260
261 # Inline macros
262 [http-inlinemacro]
263 <a href="{name}:{target}">{0={name}:{target}}</a>
264 [https-inlinemacro]
265 <a href="{name}:{target}">{0={name}:{target}}</a>
266 [ftp-inlinemacro]
267 <a href="{name}:{target}">{0={name}:{target}}</a>
268 [file-inlinemacro]
269 <a href="{name}:{target}">{0={name}:{target}}</a>
270 [irc-inlinemacro]
271 <a href="{name}:{target}">{0={name}:{target}}</a>
272 [mailto-inlinemacro]
273 <a href="mailto:{target}">{0={target}}</a>
274 [link-inlinemacro]
275 <a href="{target}">{0={target}}</a>
276 [callto-inlinemacro]
277 <a href="{name}:{target}">{0={target}}</a>
278 # anchor:id[text]
279 [anchor-inlinemacro]
280 <a id="{target}"></a>
281 # [[id,text]]
282 [anchor2-inlinemacro]
283 <a id="{1}"></a>
284 # [[[id]]]
285 [anchor3-inlinemacro]
286 <a id="{1}"></a>[{1}]
287 # xref:id[text]
288 [xref-inlinemacro]
289 <a href="#{target}">{0=[{target}]}</a>
290 # <<id,text>>
291 [xref2-inlinemacro]
292 <a href="#{1}">{2=[{1}]}</a>
293
294 # Special word substitution.
295 [emphasizedwords]
296 <em>{words}</em>
297 [monospacedwords]
298 <span class="monospaced">{words}</span>
299 [strongwords]
300 <strong>{words}</strong>
301
302 # Paragraph substitution.
303 [paragraph]
304 <div class="paragraph{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
305 {thumbnail#}<a class="image" href="images/{thumbnail}">
306 {thumbnail#}<img src="images/{thumbnail}" alt="{alt={thumbnail}}" width=250
307 {thumbnail#}{float@left: style="padding\: 0 10px 0 0;float\:left;"}
308 {thumbnail#}{float@right: style="padding\: 0 0 0 10px;float\:right;"}
309 {thumbnail#}{float%} style="padding: 0 0 0 10px;float:right;"
310 {thumbnail#}></a>
311 {title?<div class="title">{title}</div>}<p>
312 |
313 </p></div>
314
315 [admonitionparagraph]
316 template::[admonitionblock]
317
318 # Delimited blocks.
319 [listingblock]
320 <div class="listingblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
321 <div class="title">{caption=}{title}</div>
322 <div class="content monospaced">
323 <pre>
324 |
325 </pre>
326 </div></div>
327
328 [literalblock]
329 <div class="literalblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
330 <div class="title">{title}</div>
331 <div class="content monospaced">
332 <pre>
333 |
334 </pre>
335 </div></div>
336
337 [sidebarblock]
338 <div class="sidebarblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
339 <div class="content">
340 <div class="title">{title}</div>
341 |
342 </div></div>
343
344 [openblock]
345 <div class="openblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
346 <div class="title">{title}</div>
347 <div class="content">
348 |
349 </div></div>
350
351 [partintroblock]
352 template::[openblock]
353
354 [abstractblock]
355 template::[quoteblock]
356
357 [quoteblock]
358 <div class="quoteblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
359 <div class="title">{title}</div>
360 <div class="content">
361 |
362 </div>
363 <div class="attribution">
364 <em>{citetitle}</em>{attribution?<br>}
365 &#8212; {attribution}
366 </div></div>
367
368 [verseblock]
369 <div class="verseblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
370 <div class="title">{title}</div>
371 <pre class="content">
372 |
373 </pre>
374 <div class="attribution">
375 <em>{citetitle}</em>{attribution?<br>}
376 &#8212; {attribution}
377 </div></div>
378
379 [exampleblock]
380 <div class="exampleblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
381 <div class="title">{caption={example-caption} {counter:example-number}. }{title}</div>
382 <div class="content">
383 |
384 </div></div>
385
386 [admonitionblock]
387 <div class="admonitionblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
388 <table><tr>
389 <td class="icon">
390 {data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}">
391 {data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64,
392 {data-uri#}{icons#}{sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/{name}.png}")}"}">
393 {icons%}<div class="title">{caption}</div>
394 </td>
395 <td class="content">
396 <div class="title">{title}</div>
397 |
398 </td>
399 </tr></table>
400 </div>
401
402 # Tables.
403 [tabletags-default]
404 colspec=<col{autowidth-option! style="width:{colpcwidth}%;"}>
405 bodyrow=<tr>|</tr>
406 headdata=<th class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }>|</th>
407 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }>|</td>
408 paragraph=<p class="tableblock">|</p>
409
410 [tabletags-header]
411 paragraph=<p class="tableblock header">|</p>
412
413 [tabletags-emphasis]
414 paragraph=<p class="tableblock"><em>|</em></p>
415
416 [tabletags-strong]
417 paragraph=<p class="tableblock"><strong>|</strong></p>
418
419 [tabletags-monospaced]
420 paragraph=<p class="tableblock monospaced">|</p>
421
422 [tabletags-verse]
423 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }><div class="verse">|</div></td>
424 paragraph=
425
426 [tabletags-literal]
427 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }><div class="literal monospaced"><pre>|</pre></div></td>
428 paragraph=
429
430 [tabletags-asciidoc]
431 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }><div>|</div></td>
432 paragraph=
433
434 [table]
435 <table class="tableblock frame-{frame=all} grid-{grid=all}{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}
436 style="
437 margin-left:{align@left:0}{align@center|right:auto}; margin-right:{align@left|center:auto}{align@right:0};
438 float:{float};
439 {autowidth-option%}width:{tablepcwidth}%;
440 {autowidth-option#}{width#style=width:{tablepcwidth}%;}
441 ">
442 <caption class="title">{caption={table-caption} {counter:table-number}. }{title}</caption>
443 {colspecs}
444 {headrows#}<thead>
445 {headrows}
446 {headrows#}</thead>
447 {footrows#}<tfoot>
448 {footrows}
449 {footrows#}</tfoot>
450 <tbody>
451 {bodyrows}
452 </tbody>
453 </table>
454
455 #--------------------------------------------------------------------
456 # Deprecated old table definitions.
457 #
458
459 [miscellaneous]
460 # Screen width in pixels.
461 pagewidth=800
462 pageunits=px
463
464 [old_tabledef-default]
465 template=old_table
466 colspec=<col style="width:{colwidth}{pageunits};" />
467 bodyrow=<tr>|</tr>
468 headdata=<th class="tableblock halign-{colalign=left}">|</th>
469 footdata=<td class="tableblock halign-{colalign=left}">|</td>
470 bodydata=<td class="tableblock halign-{colalign=left}">|</td>
471
472 [old_table]
473 <table class="tableblock frame-{frame=all} grid-{grid=all}"{id? id="{id}"}>
474 <caption class="title">{caption={table-caption}}{title}</caption>
475 {colspecs}
476 {headrows#}<thead>
477 {headrows}
478 {headrows#}</thead>
479 {footrows#}<tfoot>
480 {footrows}
481 {footrows#}</tfoot>
482 <tbody style="vertical-align:top;">
483 {bodyrows}
484 </tbody>
485 </table>
486
487 # End of deprecated old table definitions.
488 #--------------------------------------------------------------------
489
490 [floatingtitle]
491 <h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}{id? id="{id}"} class="float">{title}</h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}>
492
493 [preamble]
494 # Untitled elements between header and first section title.
495 <div id="preamble">
496 <div class="sectionbody">
497 |
498 </div>
499 </div>
500
501 # Document sections.
502 [sect0]
503 <h1{id? id="{id}"}>{title}</h1>
504 |
505
506 [sect1]
507 <div class="sect1{style? {style}}{role? {role}}">
508 <h2{id? id="{id}"}>{numbered?{sectnum} }{title}</h2>
509 <div class="sectionbody">
510 |
511 </div>
512 </div>
513
514 [sect2]
515 <div class="sect2{style? {style}}{role? {role}}">
516 <h3{id? id="{id}"}>{numbered?{sectnum} }{title}</h3>
517 |
518 </div>
519
520 [sect3]
521 <div class="sect3{style? {style}}{role? {role}}">
522 <h4{id? id="{id}"}>{numbered?{sectnum} }{title}</h4>
523 |
524 </div>
525
526 [sect4]
527 <div class="sect4{style? {style}}{role? {role}}">
528 <h5{id? id="{id}"}>{title}</h5>
529 |
530 </div>
531
532 [appendix]
533 <div class="sect1{style? {style}}{role? {role}}">
534 <h2{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2>
535 <div class="sectionbody">
536 |
537 </div>
538 </div>
539
540 [toc]
541 <div id="toc">
542   <div id="toctitle">{toc-title}</div>
543   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
544 </div>
545
546 [header]
547 <!DOCTYPE html>
548 <html lang="{lang=en}">
549 <head>
550 <meta http-equiv="Content-Type" content="text/html; charset={encoding}">
551 <meta name="generator" content="AsciiDoc {asciidoc-version}">
552 <meta name="description" content="{description}">
553 <meta name="keywords" content="{keywords}">
554 <title>{title}</title>
555 {title%}<title>{doctitle=}</title>
556 ifdef::linkcss[]
557 <link rel="stylesheet" href="{stylesdir=.}/{theme=asciidoc}.css" type="text/css">
558 ifeval::["{source-highlighter}"=="pygments"]
559 <link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css">
560 endif::[]
561
562 # DEPRECATED: 'pygments' attribute.
563 ifdef::pygments[<link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css">]
564
565 ifdef::toc2[<link rel="stylesheet" href="{stylesdir=.}/toc2.css" type="text/css" />]
566 <link rel="stylesheet" href="{stylesdir=.}/{stylesheet}" type="text/css">
567 endif::linkcss[]
568 ifndef::linkcss[]
569 <style type="text/css">
570 include1::{theme%}{stylesdir=/etc/asciidoc/stylesheets}/asciidoc.css[]
571 include1::{themedir}/{theme}.css[]
572 ifeval::["{source-highlighter}"=="pygments"]
573 include1::{stylesdir=/etc/asciidoc/stylesheets}/pygments.css[]
574 endif::[]
575
576 # DEPRECATED: 'pygments' attribute.
577 ifdef::pygments[]
578 include1::{stylesdir=/etc/asciidoc/stylesheets}/pygments.css[]
579 endif::pygments[]
580
581 ifdef::toc2[]
582 include1::{stylesdir=/etc/asciidoc/stylesheets}/toc2.css[]
583 endif::toc2[]
584 include1::{stylesheet}[]
585 </style>
586 endif::linkcss[]
587
588 ifdef::toc2[]
589 <style type="text/css">
590 div #toc {
591     width: 19em;
592     font-family: sans;
593     border-right: 3px solid gainsboro;
594 }
595 .book, .article {
596     margin-left: 22em
597 }
598 div #toc a:link, div #toc a:visited {
599     color: black;
600     text-decoration: none;
601 }
602 div #toc a:hover {
603     text-decoration: underline;
604 }
605 div .toclevel1 {
606     font-size: 1.1em;
607     margin-bottom: 0.3em;
608 }
609
610 .monospaced, code, pre {
611     overflow-wrap: break-word;
612 }
613 img {
614     max-width: 100%;
615 }
616
617 @media only screen and (min-width: 85em) {
618 div #toc {
619     width: 22em
620 }
621 .book, .article {
622     margin-left: 25em
623 }
624 div .toclevel1 {
625     font-size: 1.2em;
626 }
627 }
628 </style>
629 endif::toc2[]
630
631 ifndef::disable-javascript[]
632 ifdef::linkcss[]
633 <script type="text/javascript" src="{scriptsdir=.}/asciidoc.js"></script>
634 <script type="text/javascript" src="{scriptsdir=.}/{theme}.js"></script>
635 <script type="text/javascript">
636 #TODO: Escape not necessary in HTML5?
637 # Escape as CDATA to pass validators.
638 /*<![CDATA[*/
639 asciidoc.install({toc,toc2?{toclevels}});
640 /*]]>*/
641 </script>
642 endif::linkcss[]
643 ifndef::linkcss[]
644 <script type="text/javascript">
645 # Escape as CDATA to pass validators.
646 /*<![CDATA[*/
647 include1::{scriptsdir=/etc/asciidoc/javascripts}/asciidoc.js[]
648 include1::{themedir}/{theme}.js[warnings=False]
649 asciidoc.install({toc,toc2?{toclevels}});
650 /*]]>*/
651 </script>
652 endif::linkcss[]
653 endif::disable-javascript[]
654 ifdef::asciimath[]
655 ifdef::linkcss[]
656 <script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
657 endif::linkcss[]
658 ifndef::linkcss[]
659 <script type="text/javascript">
660 # Escape as CDATA to pass validators.
661 /*<![CDATA[*/
662 include1::{scriptsdir=/etc/asciidoc/javascripts}/ASCIIMathML.js[]
663 /*]]>*/
664 </script>
665 endif::linkcss[]
666 endif::asciimath[]
667 ifdef::latexmath[]
668 ifdef::linkcss[]
669 <script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
670 endif::linkcss[]
671 ifndef::linkcss[]
672 <script type="text/javascript">
673 # Escape as CDATA to pass validators.
674 /*<![CDATA[*/
675 include1::{scriptsdir=/etc/asciidoc/javascripts}/LaTeXMathML.js[]
676 /*]]>*/
677 </script>
678 endif::linkcss[]
679 endif::latexmath[]
680 {docinfo1,docinfo2#}{include:{docdir}/docinfo.html}
681 {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html}
682 template::[docinfo]
683 </head>
684 <body class="{doctype}"{max-width? style="max-width:{max-width}"}{css-signature? id="{css-signature}"}>
685 # Article, book header.
686 ifndef::doctype-manpage[]
687 <div id="header">
688 ifndef::notitle[<h1>{doctitle}</h1>]
689 ifdef::doctitle[]
690 <span id="author">{author}</span><br>
691 <span id="email" class="monospaced">&lt;<a href="mailto:{email}">{email}</a>&gt;</span><br>
692 <span id="revnumber">version {revnumber}{revdate?,}</span>
693 <span id="revdate">{revdate}</span>
694 <br><span id="revremark">{revremark}</span>
695 endif::doctitle[]
696 {toc,toc2#}{toc-placement$auto:}{template:toc}
697 </div>
698 endif::doctype-manpage[]
699 # Man page header.
700 ifdef::doctype-manpage[]
701 <div id="header">
702 <h1>
703 {doctitle} Manual Page
704 </h1>
705 {toc,toc2#}{toc-placement$auto:}{template:toc}
706 <h2>{manname-title}</h2>
707 <div class="sectionbody">
708 <p>{manname} -
709    {manpurpose}
710 </p>
711 </div>
712 </div>
713 endif::doctype-manpage[]
714 <div id="content">
715
716 [footer]
717 </div>
718 {disable-javascript%<div id="footnotes"><hr></div>}
719 <div id="footer">
720 # Removing footer date and version if footer-style set to none
721 ifeval::["{footer-style=default}"!="none"]
722 <div id="footer-text">
723 template::[footer-text]
724 </div>
725 endif::[]
726 ifdef::badges[]
727 <div id="footer-badges">
728 ifndef::icons[]
729 Valid <a href="http://validator.w3.org/check?uri=referer">HTML5</a>
730 and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
731 endif::icons[]
732 ifdef::icons[]
733 <a href="http://validator.w3.org/check?uri=referer">
734   <img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png"
735        width="30" alt="HTML5 Powered" title="HTML5 Powered">
736 </a>
737 <a href="http://jigsaw.w3.org/css-validator/check/referer">
738   <img style="border:0;width:88px;height:31px"
739     src="http://www.w3.org/Icons/valid-css"
740     alt="Valid CSS!">
741 </a>
742 endif::icons[]
743 </div>
744 endif::badges[]
745 </div>
746 </body>
747 </html>
748
749 [footer-date]
750 # Default footer date is document modification time
751 ifeval::["{footer-style=default}"!="revdate"]
752  {docdate} {doctime}
753 endif::[]
754 # If set to "revdate", it'll be set to the revision date
755 ifeval::["{footer-style=default}"=="revdate"]
756  {revdate}
757 endif::[]
758
759 ifdef::doctype-manpage[]
760 [synopsis]
761 template::[sect1]
762 endif::doctype-manpage[]
763