#
# html4.conf
#
# Asciidoc HTML 4.01 configuration file.
#

[miscellaneous]
outfilesuffix=.html

[attributes]
basebackend=html
basebackend-html=
basebackend-html4=
hr=<hr>

[replacements2]
# Line break.
(?m)^(.*)\s\+$=\1<br>

[replacements]
ifdef::asciidoc7compatible[]
# Superscripts.
\^(.+?)\^=<sup>\1</sup>
# Subscripts.
~(.+?)~=<sub>\1</sub>
endif::asciidoc7compatible[]

[ruler-blockmacro]
<hr>

[pagebreak-blockmacro]
<div style="page-break-after:always"></div>

[pi-blockmacro]
<?{target}{0? {0}}?>

[pi-inlinemacro]
template::[pi-blockmacro]

[image-inlinemacro]
<a href="{link}"{role? class="{role}"}>
# src attribute must be first attribute for blogpost compatibility.
{data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0; vertical-align: text-bottom;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}>
{data-uri#}<img style="border-width: 0; vertical-align: text-bottom;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}
{data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print('src=\x22data:' + mimetypes.guess_type(r'{target}')[0] + ';base64,'); base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}">
{link#}</a>

[image-blockmacro]
<div{align? align="{align}"}{role? class="{role}"}{float? style="float:{float};"}>
<a name="{id}"></a>
<a href="{link}">
{data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}>
{data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}
{data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print('src=\x22data:' + mimetypes.guess_type(r'{target}')[0] + ';base64,'); base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}">
{link#}</a>
<p><b>{caption={figure-caption} {counter:figure-number}. }</b>{title}</p>
</div>

[unfloat-blockmacro]
<br clear="all">

[indexterm-inlinemacro]
# Index term.
{empty}

[indexterm2-inlinemacro]
# Index term.
# Single entry index term that is visible in the primary text flow.
{1}

[footnote-inlinemacro]
# footnote:[<text>].
<br><i>[{0}]</i><br>

[footnoteref-inlinemacro]
# footnoteref:[<id>], create reference to footnote.
{2%}<br><i><a href="#_footnote_{1}">[{1}]</a></i><br>
# footnoteref:[<id>,<text>], create footnote with ID.
{2#}<br><i><a name="_footnote_{1}">[{2}]</a></i><br>

[callout-inlinemacro]
# Callout.
<b>&lt;{index}&gt;</b>

# Comment line macros.
[comment-inlinemacro]
{showcomments#}<br><span style="background:yellow;">{passtext}</span><br>

[comment-blockmacro]
{showcomments#}<p><span style="background:yellow;">{passtext}</span></p>

[literal-inlinemacro]
# Inline literal.
<code>{passtext}</code>

# List tags.
[listtags-bulleted]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul{role? class="{role}"}>|</ul>
item=<li>|</li>
text=<p>|</p>

[listtags-numbered]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol type="{style@arabic:1}{style@loweralpha:a}{style@upperalpha:A}{style@lowerroman:i}{style@upperroman:I}"{start? start="{start}"}{role? class="{role}"}>|</ol>
item=<li>|</li>
text=<p>|</p>

[listtags-labeled]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl{role? class="{role}"}>|</dl>
entry=
label=
term=<dt>{strong-option?<strong>}|{strong-option?</strong>}</dt>
item=<dd>|</dd>
text=<p>|</p>

[listtags-horizontal]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<table cellpadding="4"{role? class="{role}"}>|</table>
entry=<tr valign="top">|</tr>
label=<td{labelwidth? width="{labelwidth}%"}>{strong-option?<strong>}|{strong-option?</strong>}</td>
term=|<br>
item=<td{itemwidth? width="{itemwidth}%"}>|</td>
text=<p>|</p>

[listtags-callout]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol{role? class="{role}"}>|</ol>
item=<li>|</li>
text=<p>|</p>

[listtags-qanda]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol{role? class="{role}"}>|</ol>
entry=<li>|</li>
label=
term=<p><em>|</em></p>
item=
text=<p>|</p>

[listtags-glossary]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl{role? class="{role}"}>|</dl>
entry=
label=
term=<dt>|</dt>
item=<dd>|</dd>
text=<p>|</p>

[listtags-bibliography]
list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul{role? class="{role}"}>|</ul>
item=<li>|</li>
text=<p>|</p>

[tags]
# Quoted text.
emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em>
strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong>
monospaced=<code>{1?<span class="{1}">}|{1?</span>}</code>
singlequoted={lsquo}{1?<span class="{1}">}|{1?</span>}{rsquo}
doublequoted={ldquo}{1?<span class="{1}">}|{1?</span>}{rdquo}
unquoted={1?<span class="{1}">}|{1?</span>}
superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup>
subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub>

ifdef::deprecated-quotes[]
# Override with deprecated quote attributes.
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>}
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>}
monospaced={role?<span class="{role}">}<code{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</code>{role?</span>}
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>}
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>}
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>}
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>}
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>}
endif::deprecated-quotes[]

# Inline macros
[http-inlinemacro]
<a href="{name}:{target}">{0={name}:{target}}</a>
[https-inlinemacro]
<a href="{name}:{target}">{0={name}:{target}}</a>
[ftp-inlinemacro]
<a href="{name}:{target}">{0={name}:{target}}</a>
[file-inlinemacro]
<a href="{name}:{target}">{0={name}:{target}}</a>
[irc-inlinemacro]
<a href="{name}:{target}">{0={name}:{target}}</a>
[mailto-inlinemacro]
<a href="mailto:{target}">{0={target}}</a>
[callto-inlinemacro]
<a href="{name}:{target}">{0={target}}</a>
[link-inlinemacro]
<a href="{target}">{0={target}}</a>
# anchor:id[text]
[anchor-inlinemacro]
<a name="{target}"></a>
# [[id,text]]
[anchor2-inlinemacro]
<a name="{1}"></a>
# [[[id]]]
[anchor3-inlinemacro]
<a name="{1}"></a>[{1}]
# xref:id[text]
[xref-inlinemacro]
<a href="#{target}">{0=[{target}]}</a>
# <<id,text>>
[xref2-inlinemacro]
<a href="#{1}">{2=[{1}]}</a>

# Special word substitution.
[emphasizedwords]
<em>{words}</em>
[monospacedwords]
<code>{words}</code>
[strongwords]
<strong>{words}</strong>

# Paragraph substitution.
[paragraph]
<p{role? class="{role}"}>{id?<a name="{id}"></a>}{title?<b>{title}</b><br>}
|
</p>

[admonitionparagraph]
template::[admonitionblock]

# Delimited blocks.
[passthroughblock]
|

[listingblock]
<a name="{id}"></a>
<p><b>{title}</b></p>
<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="4"{role? class="{role}"}><tr><td>
<pre><code>
|
</code></pre>
</td></tr></table>

[literalblock]
<a name="{id}"></a>
<p><b>{title}</b></p>
<pre{role? class="{role}"}><code>
|
</code></pre>

[sidebarblock]
<a name="{id}"></a>
<table frame="border" bgcolor="#ffffee" width="100%" cellpadding="4"{role? class="{role}"}>
<tr><td>
<p><em>{title}</em></p>
|
</td></tr></table>

[openblock]
<div{id? id="{id}"}{role? class="{role}"}>
<p><b>{title}</b></p>
|
</div>

[partintroblock]
template::[openblock]

[abstractblock]
template::[quoteblock]

[quoteblock]
<a name="{id}"></a>
<blockquote{role? class="{role}"}>
<p><b>{title}</b></p>
|
<p align="right">
<em>{citetitle}</em>{attribution?<br>}
&#8212; {attribution}
</p>
</blockquote>

[verseblock]
<a name="{id}"></a>
<blockquote{role? class="{role}"}>
<p><b>{title}</b></p>
# Font inheritance broken in IE6.
<pre style="font-family: inherit;">
|
</pre>
<p align="left">
<em>{citetitle}</em>{attribution?<br>}
&#8212; {attribution}
</p>
</blockquote>

[exampleblock]
<a name="{id}"></a>
<table frame="void" width="100%" cellpadding="4"{role? class="{role}"}>
<tr><td style="border-left: 2px solid silver;">
|
</td></tr></table>
<p><b>{caption={example-caption} {counter:example-number}. }</b>{title}</p>

[admonitionblock]
<a name="{id}"></a>
<table frame="void" cellpadding="4"{role? class="{role}"}>
<tr valign="top">
<td>
{data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}">
{data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64,
{data-uri#}{icons#}{sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/{name}.png}")}"}">
{icons%}<p><b><u>{caption}</u></b></p>
</td>
<td style="border-left: 1px solid silver;">
<p><b>{title}</b></p>
|
</td></tr></table>

[mathblock]
# Here to suppress missing block warning (html4 does not include math
# JavaScripts).
<a name="{id}"></a>
<p><b>{title}</b></p>
<div{role? class="{role}"}>
|
</div>

# Tables.
[tabletags-default]
bodyrow=<tr>|</tr>
headdata=<th {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</th>
footdata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} style="font-weight:bold" valign="{valign}">|</td>
bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</td>
paragraph=<p>|</p>

[tabletags-header]
paragraph=<p><strong>|</strong></p>

[tabletags-emphasis]
paragraph=<p><em>|</em></p>

[tabletags-strong]
paragraph=<p><strong>|</strong></p>

[tabletags-monospaced]
paragraph=<p><code>|</code></p>

[tabletags-verse]
bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre style="font-family: inherit;">|</pre></td>
paragraph=

[tabletags-literal]
bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre><code>|</code></pre></td>
paragraph=

[tabletags-asciidoc]
bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><div>|</div></td>
paragraph=

[table]
<div{align? align="{align}"}{role? class="{role}"}>
<a name="{id}"></a>
<table rules="{grid=all}"
style="float:{float};"
{autowidth-option%}width="{tablepcwidth}%"
{autowidth-option#}{width#width="{tablepcwidth}%"}
frame="{frame%border}"
frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
cellspacing="0" cellpadding="4">
{headrows#}<thead>
{headrows}
{headrows#}</thead>
{footrows#}<tfoot>
{footrows}
{footrows#}</tfoot>
<tbody>
{bodyrows}
</tbody>
</table>
<p><b>{caption={table-caption} {counter:table-number}. }</b>{title}</p>
</div>

#--------------------------------------------------------------------
# Deprecated old table definitions.
#

[miscellaneous]
# Screen width in pixels.
pagewidth=800
pageunits=

[old_tabledef-default]
template=old_table
bodyrow=<tr>|</tr>
headdata=<th align="{colalign}" width="{colwidth}{pageunits}">|</th>
footdata=<td align="{colalign}" width="{colwidth}{pageunits}"><strong>|</strong></td>
bodydata=<td align="{colalign}" width="{colwidth}{pageunits}" valign="top">|</td>

[old_table]
<p><b>{caption={table-caption}}</b>{title}</p>
<a name="{id}"></a>
<table rules="{grid=none}"
frame="{frame%hsides}"
frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
cellspacing="0" cellpadding="4">
{headrows#}<thead>
{headrows}
{headrows#}</thead>
{footrows#}<tfoot>
{footrows}
{footrows#}</tfoot>
<tbody>
{bodyrows}
</tbody>
</table>

# End of deprecated old table definitions.
#--------------------------------------------------------------------

[floatingtitle]
<h{level@1:2}{level@2:3}{level@3:4}{level@4:5}>{id?<a name="{id}"></a>}{title}</h{level@1:2}{level@2:3}{level@3:4}{level@4:5}>

[preamble]
# Untitled elements between header and first section title.
<a name="preamble"></a>
|

[sect0]
{doctype-manpage%}{hr}
<h1>{id?<a name="{id}"></a>}{title}</h1>
|

[sect1]
{doctype-manpage%}{hr}
<h2{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h2>
|

[sect2]
<h3{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h3>
|

[sect3]
<h4{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h4>
|

[sect4]
<h5{role? class="{role}"}>{id?<a name="{id}"></a>}{title}</h5>
|

[appendix]
{hr}
<h2{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2>
|

[footer]
# Removing footer date and version if footer-style set to none
ifeval::["{footer-style=default}"!="none"]
<p></p>
<p></p>
<hr><p><small>
template::[footer-text]
</small></p>
endif::[]
</body>
</html>

[header-declarations]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset={encoding}">
<meta name="generator" content="AsciiDoc {asciidoc-version}">
<meta name="description" content="{description}">
<meta name="keywords" content="{keywords}">
<title>{title}</title>
{title%}<title>{doctitle=}</title>
{docinfo1,docinfo2#}{include:{docdir}/docinfo.html}
{docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html}
template::[docinfo]
</head>

[footer-date]
# Default footer date is document modification time
ifeval::["{footer-style=default}"!="revdate"]
 {docdate} {doctime}
endif::[]
# If set to "revdate", it'll be set to the revision date
ifeval::["{footer-style=default}"=="revdate"]
 {revdate}
endif::[]

#--------------------------------
# article and book document types
#--------------------------------
ifndef::doctype-manpage[]

[header]
template::[header-declarations]
<body>
{notitle%}<h1>{doctitle}</h1>
{doctitle#}<p>
{doctitle#}<strong>{author}</strong><br>
{doctitle#}<code>&lt;<a href="mailto:{email}">{email}</a>&gt;</code><br>
{doctitle#}version {revnumber}{revdate?,}
{doctitle#}{revdate}
{doctitle#}<br>{revremark}
{doctitle#}</p>

endif::doctype-manpage[]

#-------------------------
# manpage document type
#-------------------------
ifdef::doctype-manpage[]

[tags]
# This is more inline with man page convention.
emphasis=<b>|</b>
vlistterm=<dt><b>|</b></dt>

[header]
template::[header-declarations]
<body>
{hr}
<h1>
    {doctitle} Manual Page
</h1>
{hr}

[name]
<h2>{manname-title}</h2>
<p>{manname} -
   {manpurpose}
</p>

[synopsis]
template::[sect1]

endif::doctype-manpage[]
