4 # Asciidoc configuration file.
7 # modified for Proxmox VE docs
8 # - add thumbnail attribute
9 # - s!./stylesheets!/etc/asciidoc/stylesheets!g
10 # - s!./javascripts!/etc/asciidoc/javascripts!g
25 ifdef::asciidoc7compatible[]
27 \^(.+?)\^=<sup>\1</sup>
30 endif::asciidoc7compatible[]
35 [pagebreak-blockmacro]
36 <div style="page-break-after:always"></div>
39 asciimath-style=template="asciimathblock",subs=()
40 latexmath-style=template="latexmathblock",subs=()
43 (?u)^(?P<name>audio|video)::(?P<target>\S*?)(\[(?P<attrlist>.*?)\])$=#
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]
49 [asciimath-inlinemacro]
52 [asciimath-blockmacro]
53 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
55 <div class="title">{title}</div>
60 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
62 <div class="title">{title}</div>
66 [latexmath-inlinemacro]
69 [latexmath-blockmacro]
70 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
72 <div class="title">{title}</div>
77 <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
79 <div class="title">{title}</div>
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}")}"}">
93 <div class="imageblock{style? {style}}{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}>
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}")}"}">
101 <div class="title">{caption={figure-caption} {counter:figure-number}. }{title}</div>
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.
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.
123 <div style="clear:both;"></div>
128 [indexterm-inlinemacro]
132 [indexterm2-inlinemacro]
134 # Single entry index term that is visible in the primary text flow.
137 [footnote-inlinemacro]
139 <span class="footnote"><br>[{0}]<br></span>
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>
147 [callout-inlinemacro]
149 <b><{index}></b>
153 <img src="{icon={iconsdir}/callouts/{index}.png}" alt="{index}">
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}")}"}">
161 # Comment line macros.
162 [comment-inlinemacro]
163 {showcomments#}<br><span class="comment">{passtext}</span><br>
166 {showcomments#}<p><span class="comment">{passtext}</span></p>
168 [literal-inlinemacro]
170 <span class="monospaced">{passtext}</span>
174 list=<div class="ulist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
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>
185 list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
188 term=<dt class="hdlist1{strong-option? strong}">|</dt>
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>
197 item=<td class="hdlist2">|</td>
198 text=<p style="margin-top: 0;">|</p>
201 list=<div class="qlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
204 term=<p><em>|</em></p>
210 list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
215 list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>|</table></div>
217 item=<tr><td><img src="{iconsdir}/callouts/{listindex}.png" alt="{listindex}"></td><td>|</td></tr>
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>
226 list=<div class="dlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
233 [listtags-bibliography]
234 list=<div class="ulist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
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>
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[]
263 <a href="{name}:{target}">{0={name}:{target}}</a>
265 <a href="{name}:{target}">{0={name}:{target}}</a>
267 <a href="{name}:{target}">{0={name}:{target}}</a>
269 <a href="{name}:{target}">{0={name}:{target}}</a>
271 <a href="{name}:{target}">{0={name}:{target}}</a>
273 <a href="mailto:{target}">{0={target}}</a>
275 <a href="{target}">{0={target}}</a>
277 <a href="{name}:{target}">{0={target}}</a>
280 <a id="{target}"></a>
282 [anchor2-inlinemacro]
285 [anchor3-inlinemacro]
286 <a id="{1}"></a>[{1}]
289 <a href="#{target}">{0=[{target}]}</a>
292 <a href="#{1}">{2=[{1}]}</a>
294 # Special word substitution.
298 <span class="monospaced">{words}</span>
300 <strong>{words}</strong>
302 # Paragraph substitution.
304 <div class="paragraph{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
305 {thumbnail#}<a class="image" href="images/screenshot/{thumbnail}">
306 {thumbnail#}<img src="images/screenshot/{thumbnail}" alt="{alt={thumbnail}}" width=250 style="float:{float=right};">
308 {title?<div class="title">{title}</div>}<p>
312 [admonitionparagraph]
313 template::[admonitionblock]
317 <div class="listingblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
318 <div class="title">{caption=}{title}</div>
319 <div class="content monospaced">
326 <div class="literalblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
327 <div class="title">{title}</div>
328 <div class="content monospaced">
335 <div class="sidebarblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
336 <div class="content">
337 <div class="title">{title}</div>
342 <div class="openblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
343 <div class="title">{title}</div>
344 <div class="content">
349 template::[openblock]
352 template::[quoteblock]
355 <div class="quoteblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
356 <div class="title">{title}</div>
357 <div class="content">
360 <div class="attribution">
361 <em>{citetitle}</em>{attribution?<br>}
362 — {attribution}
366 <div class="verseblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
367 <div class="title">{title}</div>
368 <pre class="content">
371 <div class="attribution">
372 <em>{citetitle}</em>{attribution?<br>}
373 — {attribution}
377 <div class="exampleblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
378 <div class="title">{caption={example-caption} {counter:example-number}. }{title}</div>
379 <div class="content">
384 <div class="admonitionblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>
387 {data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}">
388 {data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64,
389 {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}")}"}">
390 {icons%}<div class="title">{caption}</div>
393 <div class="title">{title}</div>
401 colspec=<col{autowidth-option! style="width:{colpcwidth}%;"}>
403 headdata=<th class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }>|</th>
404 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }>|</td>
405 paragraph=<p class="tableblock">|</p>
408 paragraph=<p class="tableblock header">|</p>
411 paragraph=<p class="tableblock"><em>|</em></p>
414 paragraph=<p class="tableblock"><strong>|</strong></p>
416 [tabletags-monospaced]
417 paragraph=<p class="tableblock monospaced">|</p>
420 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }><div class="verse">|</div></td>
424 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 bodydata=<td class="tableblock halign-{halign=left} valign-{valign=top}" {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }><div>|</div></td>
432 <table class="tableblock frame-{frame=all} grid-{grid=all}{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}
434 margin-left:{align@left:0}{align@center|right:auto}; margin-right:{align@left|center:auto}{align@right:0};
436 {autowidth-option%}width:{tablepcwidth}%;
437 {autowidth-option#}{width#style=width:{tablepcwidth}%;}
439 <caption class="title">{caption={table-caption} {counter:table-number}. }{title}</caption>
452 #--------------------------------------------------------------------
453 # Deprecated old table definitions.
457 # Screen width in pixels.
461 [old_tabledef-default]
463 colspec=<col style="width:{colwidth}{pageunits};" />
465 headdata=<th class="tableblock halign-{colalign=left}">|</th>
466 footdata=<td class="tableblock halign-{colalign=left}">|</td>
467 bodydata=<td class="tableblock halign-{colalign=left}">|</td>
470 <table class="tableblock frame-{frame=all} grid-{grid=all}"{id? id="{id}"}>
471 <caption class="title">{caption={table-caption}}{title}</caption>
479 <tbody style="vertical-align:top;">
484 # End of deprecated old table definitions.
485 #--------------------------------------------------------------------
488 <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}>
491 # Untitled elements between header and first section title.
493 <div class="sectionbody">
500 <h1{id? id="{id}"}>{title}</h1>
504 <div class="sect1{style? {style}}{role? {role}}">
505 <h2{id? id="{id}"}>{numbered?{sectnum} }{title}</h2>
506 <div class="sectionbody">
512 <div class="sect2{style? {style}}{role? {role}}">
513 <h3{id? id="{id}"}>{numbered?{sectnum} }{title}</h3>
518 <div class="sect3{style? {style}}{role? {role}}">
519 <h4{id? id="{id}"}>{numbered?{sectnum} }{title}</h4>
524 <div class="sect4{style? {style}}{role? {role}}">
525 <h5{id? id="{id}"}>{title}</h5>
530 <div class="sect1{style? {style}}{role? {role}}">
531 <h2{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2>
532 <div class="sectionbody">
539 <div id="toctitle">{toc-title}</div>
540 <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
545 <html lang="{lang=en}">
547 <meta http-equiv="Content-Type" content="text/html; charset={encoding}">
548 <meta name="generator" content="AsciiDoc {asciidoc-version}">
549 <meta name="description" content="{description}">
550 <meta name="keywords" content="{keywords}">
551 <title>{title}</title>
552 {title%}<title>{doctitle=}</title>
554 <link rel="stylesheet" href="{stylesdir=.}/{theme=asciidoc}.css" type="text/css">
555 ifeval::["{source-highlighter}"=="pygments"]
556 <link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css">
559 # DEPRECATED: 'pygments' attribute.
560 ifdef::pygments[<link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css">]
562 ifdef::toc2[<link rel="stylesheet" href="{stylesdir=.}/toc2.css" type="text/css" />]
563 <link rel="stylesheet" href="{stylesdir=.}/{stylesheet}" type="text/css">
566 <style type="text/css">
567 include1::{theme%}{stylesdir=/etc/asciidoc/stylesheets}/asciidoc.css[]
568 include1::{themedir}/{theme}.css[]
569 ifeval::["{source-highlighter}"=="pygments"]
570 include1::{stylesdir=/etc/asciidoc/stylesheets}/pygments.css[]
573 # DEPRECATED: 'pygments' attribute.
575 include1::{stylesdir=/etc/asciidoc/stylesheets}/pygments.css[]
579 include1::{stylesdir=/etc/asciidoc/stylesheets}/toc2.css[]
581 include1::{stylesheet}[]
584 ifndef::disable-javascript[]
586 <script type="text/javascript" src="{scriptsdir=.}/asciidoc.js"></script>
587 <script type="text/javascript" src="{scriptsdir=.}/{theme}.js"></script>
588 <script type="text/javascript">
589 #TODO: Escape not necessary in HTML5?
590 # Escape as CDATA to pass validators.
592 asciidoc.install({toc,toc2?{toclevels}});
597 <script type="text/javascript">
598 # Escape as CDATA to pass validators.
600 include1::{scriptsdir=/etc/asciidoc/javascripts}/asciidoc.js[]
601 include1::{themedir}/{theme}.js[warnings=False]
602 asciidoc.install({toc,toc2?{toclevels}});
606 endif::disable-javascript[]
609 <script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
612 <script type="text/javascript">
613 # Escape as CDATA to pass validators.
615 include1::{scriptsdir=/etc/asciidoc/javascripts}/ASCIIMathML.js[]
622 <script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
625 <script type="text/javascript">
626 # Escape as CDATA to pass validators.
628 include1::{scriptsdir=/etc/asciidoc/javascripts}/LaTeXMathML.js[]
633 {docinfo1,docinfo2#}{include:{docdir}/docinfo.html}
634 {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html}
637 <body class="{doctype}"{max-width? style="max-width:{max-width}"}{css-signature? id="{css-signature}"}>
638 # Article, book header.
639 ifndef::doctype-manpage[]
641 ifndef::notitle[<h1>{doctitle}</h1>]
643 <span id="author">{author}</span><br>
644 <span id="email" class="monospaced"><<a href="mailto:{email}">{email}</a>></span><br>
645 <span id="revnumber">version {revnumber}{revdate?,}</span>
646 <span id="revdate">{revdate}</span>
647 <br><span id="revremark">{revremark}</span>
649 {toc,toc2#}{toc-placement$auto:}{template:toc}
651 endif::doctype-manpage[]
653 ifdef::doctype-manpage[]
656 {doctitle} Manual Page
658 {toc,toc2#}{toc-placement$auto:}{template:toc}
659 <h2>{manname-title}</h2>
660 <div class="sectionbody">
666 endif::doctype-manpage[]
671 {disable-javascript%<div id="footnotes"><hr></div>}
673 # Removing footer date and version if footer-style set to none
674 ifeval::["{footer-style=default}"!="none"]
675 <div id="footer-text">
676 template::[footer-text]
680 <div id="footer-badges">
682 Valid <a href="http://validator.w3.org/check?uri=referer">HTML5</a>
683 and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
686 <a href="http://validator.w3.org/check?uri=referer">
687 <img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png"
688 width="30" alt="HTML5 Powered" title="HTML5 Powered">
690 <a href="http://jigsaw.w3.org/css-validator/check/referer">
691 <img style="border:0;width:88px;height:31px"
692 src="http://www.w3.org/Icons/valid-css"
703 # Default footer date is document modification time
704 ifeval::["{footer-style=default}"!="revdate"]
707 # If set to "revdate", it'll be set to the revision date
708 ifeval::["{footer-style=default}"=="revdate"]
712 ifdef::doctype-manpage[]
715 endif::doctype-manpage[]