]> git.proxmox.com Git - pve-docs.git/commitdiff
pve-docbook.conf: docbook backend with thumbnail support
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 7 Nov 2016 16:41:51 +0000 (17:41 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 7 Nov 2016 16:43:09 +0000 (17:43 +0100)
Makefile
asciidoc/pve-docbook.conf [new file with mode: 0644]

index ed5097bf5517764cfa878f0c3acbb8b77eb6bcbd..a269271a54796c3dc3dc3938833cba2e89e7a835 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -119,15 +119,17 @@ pve-admin-guide.chunked: ${PVE_ADMIN_GUIDE_ADOCDEPENDS}
        rm -rf pve-admin-guide.chunked
        a2x -a docinfo -a docinfo1 -a icons -f chunked pve-admin-guide.adoc
 
+PVE_DOCBOOK_CONF=-b $(shell pwd)/asciidoc/pve-docbook -f asciidoc/asciidoc-pve.conf
+
 pve-admin-guide.pdf: ${PVE_ADMIN_GUIDE_ADOCDEPENDS} docinfo.xml pve-admin-guide-docinfo.xml
        inkscape -z -D --export-pdf=proxmox-logo.pdf images/proxmox-logo.svg
        inkscape -z -D --export-pdf=proxmox-ci-header.pdf images/proxmox-ci-header.svg
        grep ">Release ${DOCRELEASE}<" pve-admin-guide-docinfo.xml || (echo "wrong release in  pve-admin-guide-docinfo.xml" && false);
-       a2x -a docinfo -a docinfo1 -f pdf -L --dblatex-opts "-p ./asciidoc/pve-dblatex.xsl -s asciidoc/dblatex-custom.sty" pve-admin-guide.adoc
+       a2x -a docinfo -a docinfo1 -f pdf -L --asciidoc-opts="${PVE_DOCBOOK_CONF}" --dblatex-opts "-p ./asciidoc/pve-dblatex.xsl -s asciidoc/dblatex-custom.sty" pve-admin-guide.adoc
        rm proxmox-logo.pdf proxmox-ci-header.pdf
 
 pve-admin-guide.epub: ${PVE_ADMIN_GUIDE_ADOCDEPENDS}
-       a2x -f epub pve-admin-guide.adoc
+       a2x -f epub --asciidoc-opts="${PVE_DOCBOOK_CONF}" pve-admin-guide.adoc
 
 api-viewer/apidata.js: extractapi.pl
        ./extractapi.pl >$@
diff --git a/asciidoc/pve-docbook.conf b/asciidoc/pve-docbook.conf
new file mode 100644 (file)
index 0000000..044ea84
--- /dev/null
@@ -0,0 +1,810 @@
+#
+# docbook45.conf
+#
+# Asciidoc DocBook 4.5 configuration file.
+#
+# modified for Proxmox VE docs
+# - add thumbnail attribute
+
+[miscellaneous]
+outfilesuffix=.xml
+# Printable page width and units.
+# Used to calculate DocBook CALS tables absolute column and table widths.
+pagewidth=425
+pageunits=*
+
+[attributes]
+basebackend=docbook
+basebackend-docbook=
+basebackend-docbook45=
+# For backward compatibility (docbook backend was renamed to docbook45 at 8.6.2)
+backend-docbook=
+# toc and numbered are set to maintain original default behavior.
+toc=
+numbered=
+
+[replacements2]
+# Line break markup. Custom processing instruction in fo.xsl.
+(?m)^(.*)\s\+$=\1<?asciidoc-br?>
+
+[replacements]
+ifdef::asciidoc7compatible[]
+# Superscripts.
+\^(.+?)\^=<superscript>\1</superscript>
+# Subscripts.
+~(.+?)~=<subscript>\1</subscript>
+endif::asciidoc7compatible[]
+
+[ruler-blockmacro]
+# Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl.
+<simpara><?asciidoc-hr?></simpara>
+
+[pagebreak-blockmacro]
+# Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl.
+<simpara><?asciidoc-pagebreak?></simpara>
+
+[blockdef-pass]
+latexmath-style=template="latexmathblock",subs=()
+
+[macros]
+# math macros.
+(?su)[\\]?(?P<name>latexmath):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[]
+(?u)^(?P<name>latexmath)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#[]
+
+[latexmath-inlinemacro]
+<inlineequation>
+<alt><![CDATA[{passtext}]]></alt>
+<inlinemediaobject><textobject><phrase></phrase></textobject></inlinemediaobject>
+</inlineequation>
+
+[latexmath-blockmacro]
+<informalequation>
+<alt><![CDATA[{passtext}]]></alt>
+<mediaobject><textobject><phrase></phrase></textobject></mediaobject>
+</informalequation>
+
+[latexmathblock]
+<equation{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title>
+{title%}<informalequation{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<alt><![CDATA[|]]></alt>
+<mediaobject><textobject><phrase></phrase></textobject></mediaobject>
+{title#}</equation>
+{title%}</informalequation>
+
+[image-inlinemacro]
+<inlinemediaobject>
+  <imageobject>
+  <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? contentwidth="{width}"}{height? contentdepth="{height}"}{scale? scale="{scale}"}/>
+  </imageobject>
+  <textobject><phrase>{alt={target}}</phrase></textobject>
+</inlinemediaobject>
+
+[image-blockmacro]
+<figure{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"}><title>{title}</title>
+{title%}<informalfigure{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{pgwide-option?<?dbfo pgwide="1"?>}
+# DocBook XSL Stylesheets custom processing instructions.
+<?dbfo keep-together="{breakable-option#auto}"?>
+<?dbfo keep-together="{unbreakable-option#always}"?>
+<mediaobject>
+  <imageobject>
+  <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? contentwidth="{width}"}{height? contentdepth="{height}"}{scale? scale="{scale}"}{scaledwidth? width="{scaledwidth}" scalefit="1"}{align? align="{align}"}/>
+  </imageobject>
+  <textobject><phrase>{alt={target}}</phrase></textobject>
+</mediaobject>
+{title#}</figure>
+{title%}</informalfigure>
+
+[indexterm-inlinemacro]
+# Index term.
+# Generate separate index entries for primary, secondary and tertiary
+# descriptions.
+# Primary only.
+{2%}<indexterm>
+{2%}  <primary>{1}</primary>
+{2%}</indexterm>
+# Primary and secondary.
+{2#}{3%}<indexterm>
+{2#}{3%}  <primary>{1}</primary><secondary>{2}</secondary>
+{2#}{3%}</indexterm>
+{2#}{3%}<indexterm>
+{2#}{3%}  <primary>{2}</primary>
+{2#}{3%}</indexterm>
+# Primary, secondary and tertiary.
+{3#}<indexterm>
+  <primary>{1}</primary><secondary>{2}</secondary><tertiary>{3}</tertiary>
+{3#}</indexterm>
+{3#}<indexterm>
+  <primary>{2}</primary><secondary>{3}</secondary>
+{3#}</indexterm>
+{3#}<indexterm>
+  <primary>{3}</primary>
+{3#}</indexterm>
+
+[indexterm2-inlinemacro]
+# Index term.
+# Single entry index term that is visible in the primary text flow.
+<indexterm><primary>{1}</primary></indexterm>{1}
+
+[footnote-inlinemacro]
+# Footnote.
+<footnote><simpara>{0}</simpara></footnote>
+
+[footnoteref-inlinemacro]
+# Footnote reference.
+{2#}<footnote id="{1}"><simpara>{2}</simpara></footnote>
+{2%}<footnoteref linkend="{1}" />
+
+[callout-inlinemacro]
+# Callout.
+<co id="{coid}"/>
+
+# List tags.
+[listtags-bulleted]
+list=<itemizedlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{compact-option? spacing="compact"}>{unbreakable-option? <?dbfo keep-together="always"?>}{title?<title>{title}</title>}|</itemizedlist>
+item=<listitem>|</listitem>
+text=<simpara>|</simpara>
+
+[listtags-numbered]
+list=<orderedlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} numeration="{style}"{compact-option? spacing="compact"}>{unbreakable-option? <?dbfo keep-together="always"?>}{title?<title>{title}</title>}{start?<?dbfo start="{start}"?><?dbhtml start="{start}"?>}|</orderedlist>
+item=<listitem>|</listitem>
+text=<simpara>|</simpara>
+
+[listtags-labeled]
+list=<variablelist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</variablelist>
+entry=<varlistentry>|</varlistentry>
+label=
+term=<term>|</term>
+item=<listitem>|</listitem>
+text=<simpara>|</simpara>
+
+[listtags-horizontal]
+# Horizontal labeled list (implemented with two column table).
+# Hardwired column widths to 30%,70% because the current crop of PDF
+# generators do not auto calculate column widths.
+ list=<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{style? tabstyle="{style}"}{pgwide-option? pgwide="1"} frame="none" colsep="0" rowsep="0">{title?<title>{title}</title>}<tgroup cols="2"><colspec colwidth="{labelwidth=15}*"/><colspec colwidth="{itemwidth=85}*"/><tbody valign="top">|</tbody></tgroup><{title?/table}{title!/informaltable}>
+entry=<row>|</row>
+label=<entry>|</entry>
+term=<simpara>|</simpara>
+item=<entry>|</entry>
+text=<simpara>|</simpara>
+
+[listtags-callout]
+list=<calloutlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</calloutlist>
+item=<callout arearefs="{coids}">|</callout>
+text=<para>|</para>
+
+[listtags-qanda]
+list=<qandaset{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</qandaset>
+entry=<qandaentry>|</qandaentry>
+label=<question>|</question>
+term=<simpara>|</simpara>
+item=<answer>|</answer>
+text=<simpara>|</simpara>
+
+[listtags-bibliography]
+list=<bibliodiv{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</bibliodiv>
+item=<bibliomixed>|</bibliomixed>
+text=<bibliomisc>|</bibliomisc>
+
+[listtags-glossary]
+list=
+entry=<glossentry>|</glossentry>
+label=
+term=<glossterm>|</glossterm>
+item=<glossdef>|</glossdef>
+text=<simpara>|</simpara>
+
+[tags]
+# Quoted text
+emphasis=<emphasis>{1?<phrase role="{1}">}|{1?</phrase>}</emphasis>
+strong=<emphasis role="strong">{1?<phrase role="{1}">}|{1?</phrase>}</emphasis>
+monospaced=<literal>{1?<phrase role="{1}">}|{1?</phrase>}</literal>
+singlequoted={lsquo}{1?<phrase role="{1}">}|{1?</phrase>}{rsquo}
+doublequoted={ldquo}{1?<phrase role="{1}">}|{1?</phrase>}{rdquo}
+unquoted={1?<phrase role="{1}">}|{1?</phrase>}
+subscript=<subscript>{1?<phrase role="{1}">}|{1?</phrase>}</subscript>
+superscript=<superscript>{1?<phrase role="{1}">}|{1?</phrase>}</superscript>
+
+ifdef::deprecated-quotes[]
+# Override with deprecated quote attributes.
+emphasis={role?<phrase role="{role}">}<emphasis>|</emphasis>{role?</phrase>}
+strong={role?<phrase role="{role}">}<emphasis role="strong">|</emphasis>{role?</phrase>}
+monospaced={role?<phrase role="{role}">}<literal>|</literal>{role?</phrase>}
+singlequoted={role?<phrase role="{role}">}{amp}#8216;|{amp}#8217;{role?</phrase>}
+doublequoted={role?<phrase role="{role}">}{amp}#8220;|{amp}#8221;{role?</phrase>}
+unquoted={role?<phrase role="{role}">}|{role?</phrase>}
+subscript={role?<phrase role="{role}">}<subscript>|</subscript>{role?</phrase>}
+superscript={role?<phrase role="{role}">}<superscript>|</superscript>{role?</phrase>}
+endif::deprecated-quotes[]
+
+# Inline macros
+[http-inlinemacro]
+<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
+[https-inlinemacro]
+<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
+[ftp-inlinemacro]
+<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
+[file-inlinemacro]
+<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
+[irc-inlinemacro]
+<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
+[mailto-inlinemacro]
+<ulink url="mailto:{target}">{0={target}}</ulink>
+[callto-inlinemacro]
+<ulink url="{name}:{target}">{0={target}}</ulink>
+[link-inlinemacro]
+<ulink url="{target}">{0={target}}</ulink>
+# anchor:id[text]
+[anchor-inlinemacro]
+<anchor id="{target}" xreflabel="{0=[{target}]}"/>
+# [[id,text]]
+[anchor2-inlinemacro]
+<anchor id="{1}" xreflabel="{2=[{1}]}"/>
+# [[[id]]]
+[anchor3-inlinemacro]
+<anchor id="{1}" xreflabel="[{1}]"/>[{1}]
+# xref:id[text]
+[xref-inlinemacro]
+<link linkend="{target}">{0}</link>
+{2%}<xref linkend="{target}"/>
+# <<id,text>>
+[xref2-inlinemacro]
+<link linkend="{1}">{2}</link>
+{2%}<xref linkend="{1}"/>
+# // comment line
+[comment-inlinemacro]
+{showcomments#}<remark>{passtext}</remark>
+
+[comment-blockmacro]
+{showcomments#}<remark>{passtext}</remark>
+
+[literal-inlinemacro]
+# Inline literal.
+<literal>{passtext}</literal>
+
+# Special word macros
+[emphasizedwords]
+<emphasis>{words}</emphasis>
+[monospacedwords]
+<literal>{words}</literal>
+[strongwords]
+<emphasis role="strong">{words}</emphasis>
+
+# Paragraph substitution.
+[paragraph]
+<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
+{thumbnail#}<mediaobject>
+{thumbnail#}  <imageobject>
+{thumbnail#}  <imagedata fileref="images/screenshot/{thumbnail}"{width? contentwidth="{width}"}{height? contentdepth="{height}"}{scale? scale="{scale}"}{scaledwidth? width="{scaledwidth}" scalefit="1"}{align? align="{align}"}/>
+{thumbnail#}  </imageobject>
+{thumbnail#}  <textobject><phrase>{alt={thumbnail}}</phrase></textobject>
+{thumbnail#}</mediaobject>
+{title%}<simpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+|
+{title%}</simpara>
+{title#}</para></formalpara>
+{empty}
+
+[admonitionparagraph]
+<{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><simpara>|</simpara></{name}>
+
+# Delimited blocks.
+[literalblock]
+<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
+{title#}<literallayout class="monospaced">
+{title%}<literallayout{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} class="monospaced">
+|
+</literallayout>
+{title#}</para></formalpara>
+
+[listingblock]
+<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
+{title#}<screen>
+{title%}<screen{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+|
+</screen>
+{title#}</para></formalpara>
+
+[sidebarblock-open]
+<sidebar{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+
+[sidebarblock-close]
+</sidebar>
+
+[sidebarblock]
+template::[sidebarblock-open]
+|
+template::[sidebarblock-close]
+
+[sidebarparagraph]
+template::[sidebarblock-open]
+<simpara>|</simpara>
+template::[sidebarblock-close]
+
+[abstractblock-open]
+<abstract{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+
+[abstractblock-close]
+</abstract>
+
+[abstractblock]
+template::[abstractblock-open]
+|
+template::[abstractblock-close]
+
+[abstractparagraph]
+template::[abstractblock-open]
+<simpara>|</simpara>
+template::[abstractblock-close]
+
+[openblock]
+|
+
+[partintroblock-open]
+<partintro{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+
+[partintroblock-close]
+</partintro>
+
+[partintroblock]
+template::[partintroblock-open]
+|
+template::[partintroblock-close]
+
+[partintroparagraph]
+template::[partintroblock-open]
+<simpara>|</simpara>
+template::[partintroblock-close]
+
+[quote-open]
+# Common quote and verse element template.
+<blockquote{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+# Include attribution only if either {attribution} or {citetitle} is defined.
+{attribution#}<attribution>
+{attribution%}{citetitle#}<attribution>
+{attribution}
+<citetitle>{citetitle}</citetitle>
+{attribution#}</attribution>
+{attribution%}{citetitle#}</attribution>
+
+[quote-close]
+</blockquote>
+
+[quoteblock]
+template::[quote-open]
+|
+template::[quote-close]
+
+[verseblock]
+template::[quote-open]
+<literallayout>|</literallayout>
+template::[quote-close]
+
+[quoteparagraph]
+template::[quote-open]
+<simpara>|</simpara>
+template::[quote-close]
+
+[exampleblock-open]
+<{title?example}{title!informalexample}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+# DocBook XSL Stylesheets custom processing instructions.
+<?dbfo keep-together="{breakable-option#auto}"?>
+<?dbfo keep-together="{unbreakable-option#always}"?>
+<title>{title}</title>
+
+[exampleblock-close]
+</{title?example}{title!informalexample}>
+
+[exampleblock]
+template::[exampleblock-open]
+|
+template::[exampleblock-close]
+
+[exampleparagraph]
+template::[exampleblock-open]
+<simpara>|</simpara>
+template::[exampleblock-close]
+
+[admonitionblock]
+<{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</{name}>
+
+# Tables.
+[tabletags-default]
+colspec=<colspec colname="col_{colnumber}" colwidth="{width!{colpcwidth}*}{width?{colabswidth}{pageunits}}"/>
+bodyrow=<row>|</row>
+headdata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}>|</entry>
+bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}>|</entry>
+paragraph=<simpara>|</simpara>
+
+[tabletags-emphasis]
+paragraph=<simpara><emphasis>|</emphasis></simpara>
+
+[tabletags-header]
+paragraph=<simpara><emphasis role="strong">|</emphasis></simpara>
+
+[tabletags-strong]
+paragraph=<simpara><emphasis role="strong">|</emphasis></simpara>
+
+[tabletags-monospaced]
+paragraph=<simpara><literal>|</literal></simpara>
+
+[tabletags-verse]
+bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}><literallayout>|</literallayout></entry>
+paragraph=
+
+[tabletags-literal]
+bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}><literallayout class="monospaced">|</literallayout></entry>
+paragraph=
+
+[tabletags-asciidoc]
+paragraph=
+
+[table]
+<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"}
+frame="{frame=all}"
+{grid%rowsep="1" colsep="1"}
+rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}"
+>
+<title>{title}</title>
+# DocBook XSL Stylesheets custom processing instructions.
+<?dbhtml table-width="{width}"?>
+<?dbfo table-width="{width}"?>
+<?dblatex table-width="{width}"?>
+<?dbfo keep-together="{breakable-option#auto}"?>
+<?dbfo keep-together="{unbreakable-option#always}"?>
+<tgroup cols="{colcount}">
+{colspecs}
+{headrows#}<thead>
+{headrows}
+{headrows#}</thead>
+{footrows#}<tfoot>
+{footrows}
+{footrows#}</tfoot>
+<tbody>
+{bodyrows}
+</tbody>
+</tgroup>
+</{title?table}{title!informaltable}>
+
+#--------------------------------------------------------------------
+# Deprecated old table definitions.
+#
+
+[old_tabledef-default]
+template=old_table
+colspec=<colspec colwidth="{colwidth}{pageunits}" align="{colalign}"/>
+bodyrow=<row>|</row>
+bodydata=<entry>|</entry>
+
+[old_table]
+<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} pgwide="0"
+frame="{frame=topbot}"
+{grid%rowsep="0" colsep="0"}
+rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}"
+>
+<title>{title}</title>
+<tgroup cols="{cols}">
+{colspecs}
+{headrows#}<thead>
+{headrows}
+{headrows#}</thead>
+{footrows#}<tfoot>
+{footrows}
+{footrows#}</tfoot>
+<tbody>
+{bodyrows}
+</tbody>
+</tgroup>
+</{title?table}{title!informaltable}>
+
+# End of deprecated old table definitions.
+#--------------------------------------------------------------------
+
+# Special sections.
+[preface]
+<preface{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title=}</title>
+|
+</preface>
+
+[index]
+<index{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</index>
+
+[bibliography]
+<bibliography{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</bibliography>
+
+[glossary]
+<glossary{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</glossary>
+
+[appendix]
+<appendix{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</appendix>
+
+[floatingtitle]
+<bridgehead{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} renderas="sect{level}">{title}</bridgehead>
+
+
+[header-declarations]
+<?xml version="1.0" encoding="{encoding}"?>
+<!DOCTYPE {doctype-article?article}{doctype-book?book}{doctype-manpage?refentry} PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+{toc#}<?asciidoc-toc?>
+{numbered#}<?asciidoc-numbered?>
+
+[+docinfo]
+{notitle%}    <title>{doctitle}</title>
+    <date>{revdate}</date>
+# To ensure valid articleinfo/bookinfo when there is no AsciiDoc header.
+    {doctitle%}{revdate%}<date>{docdate}</date>
+    {authored#}<author>
+        <firstname>{firstname}</firstname>
+        <othername>{middlename}</othername>
+        <surname>{lastname}</surname>
+        <email>{email}</email>
+    {authored#}</author>
+    <authorinitials>{authorinitials}</authorinitials>
+<revhistory><revision>{revnumber?<revnumber>{revnumber}</revnumber>}<date>{revdate}</date>{authorinitials?<authorinitials>{authorinitials}</authorinitials>}{revremark?<revremark>{revremark}</revremark>}</revision></revhistory>
+{docinfo1,docinfo2#}{include:{docdir}/docinfo.xml}
+{docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.xml}
+# DEPRECATED: Use docinfo.
+{revisionhistory#}{include:{docdir}/{docname}-revhistory.xml}
+# DEPRECATED: Use orgname in preference to companyname.
+<orgname>{companyname}</orgname>
+# DEPRECATED: Use orgname in preference to corpname.
+<orgname>{corpname}</orgname>
+<orgname>{orgname}</orgname>
+
+#-------------------------
+# article document type
+#-------------------------
+ifdef::doctype-article[]
+
+[header]
+template::[header-declarations]
+
+<article lang="{lang=en}">
+<articleinfo>
+template::[docinfo]
+</articleinfo>
+
+[footer]
+</article>
+
+[preamble]
+# Untitled elements between header and first section title.
+|
+
+[abstract]
+<abstract{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+|
+</abstract>
+
+[sect1]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+[sect2]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+[sect3]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+[sect4]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+endif::doctype-article[]
+
+#-------------------------
+# manpage document type
+#-------------------------
+ifdef::doctype-manpage[]
+
+[replacements]
+# The roff format does not substitute special characters so just print them as
+# text.
+\(C\)=(C)
+\(TM\)=(TM)
+
+[header]
+template::[header-declarations]
+<refentry lang="{lang=en}">
+<refentryinfo>
+template::[docinfo]
+</refentryinfo>
+<refmeta>
+<refentrytitle>{mantitle}</refentrytitle>
+<manvolnum>{manvolnum}</manvolnum>
+# Default source and manual to suppress DocBook XSL warnings.
+<refmiscinfo class="source">{mansource=&#160;}</refmiscinfo>
+<refmiscinfo class="manual">{manmanual=&#160;}</refmiscinfo>
+<refmiscinfo class="version">{manversion={revnumber}}</refmiscinfo>
+</refmeta>
+<refnamediv>
+    <refname>{manname1}</refname>
+    <refname>{manname2}</refname>
+    <refname>{manname3}</refname>
+    <refname>{manname4}</refname>
+    <refname>{manname5}</refname>
+    <refname>{manname6}</refname>
+    <refname>{manname7}</refname>
+    <refname>{manname8}</refname>
+    <refname>{manname9}</refname>
+    <refpurpose>{manpurpose}</refpurpose>
+</refnamediv>
+
+[footer]
+</refentry>
+
+# Section macros
+[synopsis]
+<refsynopsisdiv{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+|
+</refsynopsisdiv>
+
+[sect1]
+<refsect1{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</refsect1>
+
+[sect2]
+<refsect2{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</refsect2>
+
+[sect3]
+<refsect3{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</refsect3>
+
+endif::doctype-manpage[]
+
+#-------------------------
+# book document type
+#-------------------------
+ifdef::doctype-book[]
+
+[header]
+template::[header-declarations]
+
+<book lang="{lang=en}">
+<bookinfo>
+template::[docinfo]
+</bookinfo>
+
+[footer]
+</book>
+
+[preamble]
+# Preamble is not allowed in DocBook book so wrap it in a preface.
+<preface{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title=}</title>
+|
+</preface>
+
+[dedication]
+<dedication{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</dedication>
+
+[colophon]
+<colophon{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</colophon>
+
+[sect0]
+<part{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</part>
+
+[sect1]
+<chapter{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</chapter>
+
+[sect2]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+[sect3]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+[sect4]
+<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
+<title>{title}</title>
+|
+</section>
+
+endif::doctype-book[]
+
+ifdef::sgml[]
+#
+# Optional DocBook SGML.
+#
+# Most of the differences between DocBook XML and DocBook SGML boils
+# down to the empty element syntax: SGML does not like the XML empty
+# element <.../> syntax, use <...> instead.
+#
+[miscellaneous]
+outfilesuffix=.sgml
+
+[header-declarations]
+<!DOCTYPE {doctype-article?article}{doctype-book?book}{doctype-manpage?refentry} PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+
+[tabledef-default]
+colspec=<colspec colwidth="{colabswidth}{pageunits}" align="{colalign}">
+
+[image-inlinemacro]
+<inlinemediaobject>
+  <imageobject>
+  <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? width="{width}"}{height? depth="{height}"}>
+  </imageobject>
+  <textobject><phrase>{alt={target}}</phrase></textobject>
+</inlinemediaobject>
+
+[image-blockmacro]
+<figure><title>{title}</title>
+{title%}<informalfigure>
+<mediaobject>
+  <imageobject>
+  <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? width="{width}"}{height? depth="{height}"}>
+  </imageobject>
+  <textobject><phrase>{alt={target}}</phrase></textobject>
+</mediaobject>
+{title#}</figure>
+{title%}</informalfigure>
+
+# Inline macros
+[xref-inlinemacro]
+<link linkend="{target}">{0}</link>
+{2%}<xref linkend="{target}">
+[xref2-inlinemacro]
+# <<id,text>>
+<link linkend="{1}">{2}</link>
+{2%}<xref linkend="{1}">
+[anchor-inlinemacro]
+<anchor id="{target}" xreflabel="{0=[{target}]}">
+[anchor2-inlinemacro]
+# [[id,text]]
+<anchor id="{1}" xreflabel="{2=[{1}]}">
+
+endif::sgml[]