summaryrefslogtreecommitdiff
path: root/doc/yelp-xsl
diff options
context:
space:
mode:
authorShaun McCance <shaunm@redhat.com>2018-06-10 13:29:48 -0400
committerShaun McCance <shaunm@redhat.com>2018-06-10 13:30:30 -0400
commitccf8396651802fcee95325fc3eee30f6b69700e0 (patch)
treeb02422111274881ae7d32ecd88dd752de2ea1325 /doc/yelp-xsl
parent58985b3cffd0c80395bef4fa28eb3a3b8d05c109 (diff)
downloadyelp-xsl-ccf8396651802fcee95325fc3eee30f6b69700e0.tar.gz
Adding stock sidebar support
Diffstat (limited to 'doc/yelp-xsl')
-rw-r--r--doc/yelp-xsl/C/db2html-division.page2
-rw-r--r--doc/yelp-xsl/C/html.head.top.custom.page13
-rw-r--r--doc/yelp-xsl/C/html.page2
-rw-r--r--doc/yelp-xsl/C/html.page.page4
-rw-r--r--doc/yelp-xsl/C/html.sidebar.contents.mode.page12
-rw-r--r--doc/yelp-xsl/C/html.sidebar.contents.page17
-rw-r--r--doc/yelp-xsl/C/html.sidebar.custom.page1
-rw-r--r--doc/yelp-xsl/C/html.sidebar.left.page6
-rw-r--r--doc/yelp-xsl/C/html.sidebar.mode.page16
-rw-r--r--doc/yelp-xsl/C/html.sidebar.page16
-rw-r--r--doc/yelp-xsl/C/html.sidebar.right.page6
-rw-r--r--doc/yelp-xsl/C/html.sidebar.sections.mode.page12
-rw-r--r--doc/yelp-xsl/C/html.sidebar.sections.page17
-rw-r--r--doc/yelp-xsl/C/mal.link.target.extended.page25
-rw-r--r--doc/yelp-xsl/C/mal2html-page.page2
-rw-r--r--doc/yelp-xsl/C/mal2html.ui.links.img.src.page24
16 files changed, 170 insertions, 5 deletions
diff --git a/doc/yelp-xsl/C/db2html-division.page b/doc/yelp-xsl/C/db2html-division.page
index 0ee3d7f8..709708ae 100644
--- a/doc/yelp-xsl/C/db2html-division.page
+++ b/doc/yelp-xsl/C/db2html-division.page
@@ -1,2 +1,2 @@
<?xml version="1.0"?>
-<page xmlns="http://projectmallard.org/1.0/" id="db2html-division" type="guide" style="xslt-stylesheet"><?xslt-private _db2html.division.div.inner?><?xslt-private _db2html.division.about.credits?><info><link type="guide" xref="stylesheets" group="db2html"/><revision version="3.8" date="2012-11-05" status="final"/><link type="xslt-defines-template" xref="db2html.division.div"/><link type="xslt-defines-template" xref="db2html.hgroup"/><link type="xslt-defines-template" xref="db2html.division.about"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="html.output.after.mode"/><link type="xslt-implements-mode" xref="db2html.division.div.content.mode"/></info><title>DocBook to HTML - Divisions</title><p>Handle division-level DocBook elements.</p><p>This stylesheet contains templates to process top-level and sectioning elements in DocBook. It handles chunking and implements the interfaces provided by the common <file xref="html">html</file> stylesheet.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Calls Templates</title><item><p><link xref="db.title"/></p></item><item><p><link xref="db2html.links.linktrail"/></p></item><item><p><link xref="html.output"/></p></item><item><p><link xref="html.lang.attrs"/></p></item><item><p><link xref="html.class.attr"/></p></item><item><p><link xref="db2html.footnote.footer"/></p></item><item><p><link xref="l10n.gettext"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="db.chunk.max_depth"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>appendix | db:appendix</code></p></td></tr><tr><td><p/></td><td><p><code>article | db:article</code></p></td></tr><tr><td><p/></td><td><p><code>book | db:book</code></p></td></tr><tr><td><p/></td><td><p><code>chapter | db:chapter</code></p></td></tr><tr><td><p/></td><td><p><code>colophon | db:colophon</code></p></td></tr><tr><td><p/></td><td><p><code>dedication | db:dedication</code></p></td></tr><tr><td><p/></td><td><p><code>glossary | db:glossary</code></p></td></tr><tr><td><p/></td><td><p><code>glossdiv | db:glossdiv</code></p></td></tr><tr><td><p/></td><td><p><code>part | db:part</code></p></td></tr><tr><td><p/></td><td><p><code>preface | db:preface</code></p></td></tr><tr><td><p/></td><td><p><code>qandadiv | db:qandadiv</code></p></td></tr><tr><td><p/></td><td><p><code>qandaset | db:qandaset</code></p></td></tr><tr><td><p/></td><td><p><code>reference | db:reference</code></p></td></tr><tr><td><p/></td><td><p><code>sect1 | db:sect1</code></p></td></tr><tr><td><p/></td><td><p><code>sect2 | db:sect2</code></p></td></tr><tr><td><p/></td><td><p><code>sect3 | db:sect3</code></p></td></tr><tr><td><p/></td><td><p><code>sect4 | db:sect4</code></p></td></tr><tr><td><p/></td><td><p><code>sect5 | db:sect5</code></p></td></tr><tr><td><p/></td><td><p><code>section | db:section</code></p></td></tr><tr><td><p/></td><td><p><code>simplesect | db:simplesect</code></p></td></tr><tr><td><p><link xref="db2html.division.div.content.mode">db2html.division.div.content.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.output.after.mode">html.output.after.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>*</code></p></td></tr></tbody></table></page>
+<page xmlns="http://projectmallard.org/1.0/" id="db2html-division" type="guide" style="xslt-stylesheet"><?xslt-private _db2html.division.div.inner?><?xslt-private _db2html.division.about.credits?><info><link type="guide" xref="stylesheets" group="db2html"/><revision version="3.8" date="2012-11-05" status="final"/><link type="xslt-defines-template" xref="db2html.division.div"/><link type="xslt-defines-template" xref="db2html.hgroup"/><link type="xslt-defines-template" xref="db2html.division.about"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.sidebar.contents.mode"/><link type="xslt-implements-mode" xref="html.sidebar.sections.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="html.output.after.mode"/><link type="xslt-implements-mode" xref="db2html.division.div.content.mode"/></info><title>DocBook to HTML - Divisions</title><p>Handle division-level DocBook elements.</p><p>This stylesheet contains templates to process top-level and sectioning elements in DocBook. It handles chunking and implements the interfaces provided by the common <file xref="html">html</file> stylesheet.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Calls Templates</title><item><p><link xref="db.title"/></p></item><item><p><link xref="db2html.links.linktrail"/></p></item><item><p><link xref="l10n.gettext"/></p></item><item><p><link xref="db2html.xref"/></p></item><item><p><link xref="html.output"/></p></item><item><p><link xref="html.lang.attrs"/></p></item><item><p><link xref="html.class.attr"/></p></item><item><p><link xref="db2html.footnote.footer"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="db.chunk.max_depth"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>appendix | db:appendix</code></p></td></tr><tr><td><p/></td><td><p><code>article | db:article</code></p></td></tr><tr><td><p/></td><td><p><code>book | db:book</code></p></td></tr><tr><td><p/></td><td><p><code>chapter | db:chapter</code></p></td></tr><tr><td><p/></td><td><p><code>colophon | db:colophon</code></p></td></tr><tr><td><p/></td><td><p><code>dedication | db:dedication</code></p></td></tr><tr><td><p/></td><td><p><code>glossary | db:glossary</code></p></td></tr><tr><td><p/></td><td><p><code>glossdiv | db:glossdiv</code></p></td></tr><tr><td><p/></td><td><p><code>part | db:part</code></p></td></tr><tr><td><p/></td><td><p><code>preface | db:preface</code></p></td></tr><tr><td><p/></td><td><p><code>qandadiv | db:qandadiv</code></p></td></tr><tr><td><p/></td><td><p><code>qandaset | db:qandaset</code></p></td></tr><tr><td><p/></td><td><p><code>reference | db:reference</code></p></td></tr><tr><td><p/></td><td><p><code>sect1 | db:sect1</code></p></td></tr><tr><td><p/></td><td><p><code>sect2 | db:sect2</code></p></td></tr><tr><td><p/></td><td><p><code>sect3 | db:sect3</code></p></td></tr><tr><td><p/></td><td><p><code>sect4 | db:sect4</code></p></td></tr><tr><td><p/></td><td><p><code>sect5 | db:sect5</code></p></td></tr><tr><td><p/></td><td><p><code>section | db:section</code></p></td></tr><tr><td><p/></td><td><p><code>simplesect | db:simplesect</code></p></td></tr><tr><td><p><link xref="db2html.division.div.content.mode">db2html.division.div.content.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.output.after.mode">html.output.after.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.sidebar.contents.mode">html.sidebar.contents.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.sidebar.sections.mode">html.sidebar.sections.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>*</code></p></td></tr></tbody></table></page>
diff --git a/doc/yelp-xsl/C/html.head.top.custom.page b/doc/yelp-xsl/C/html.head.top.custom.page
new file mode 100644
index 00000000..b3282168
--- /dev/null
+++ b/doc/yelp-xsl/C/html.head.top.custom.page
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.head.top.custom" type="topic" style="xslt-template"><info><link type="guide" xref="html" group="templates"/><link type="guide" xref="templates" group="html"/><link type="guide" xref="stubs" group="html"/><revision version="3.28" date="2017-08-04" status="final"/><desc>Stub to output custom content at the beginning of the HTML <code>head</code> element.</desc><stub xmlns="http://projects.gnome.org/yelp/xsldoc/"/></info><title>html.head.top.custom</title><p>Stub to output custom content at the beginning of the HTML <code>head</code> element.</p><note><p>This template is a stub. Customizations may override it for
+ additional functionality.</p></note>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The node a page is being created for.</p>
+ </item>
+ </terms></synopsis>
+ <p>This template is a stub, called by <code style="xslt-template" xref="html.page">html.page</code>. You can override this template to provide additional elements at the beginning of the HTML <code>head</code> element of output files. This template is called before all other head content.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.page b/doc/yelp-xsl/C/html.page
index b0004ac2..e4078053 100644
--- a/doc/yelp-xsl/C/html.page
+++ b/doc/yelp-xsl/C/html.page
@@ -1,2 +1,2 @@
<?xml version="1.0"?>
-<page xmlns="http://projectmallard.org/1.0/" id="html" type="guide" style="xslt-stylesheet"><info><link type="guide" xref="stylesheets" group="html"/><revision version="1.0" date="2010-05-26" status="final"/><link type="xslt-requires" xref="l10n"/><link type="xslt-requires" xref="color"/><link type="xslt-requires" xref="icons"/><link type="xslt-defines-template" xref="html.output"/><link type="xslt-defines-template" xref="html.page"/><link type="xslt-defines-template" xref="html.top.custom"/><link type="xslt-defines-template" xref="html.bottom.custom"/><link type="xslt-defines-template" xref="html.sidebar.custom"/><link type="xslt-defines-template" xref="html.header.custom"/><link type="xslt-defines-template" xref="html.footer.custom"/><link type="xslt-defines-template" xref="html.head.top.custom"/><link type="xslt-defines-template" xref="html.head.custom"/><link type="xslt-defines-template" xref="html.linktrails.empty"/><link type="xslt-defines-template" xref="html.linktrails.prefix"/><link type="xslt-defines-template" xref="html.class.attr"/><link type="xslt-defines-template" xref="html.content.pre"/><link type="xslt-defines-template" xref="html.content.pre.custom"/><link type="xslt-defines-template" xref="html.content.post"/><link type="xslt-defines-template" xref="html.content.post.custom"/><link type="xslt-defines-template" xref="html.css"/><link type="xslt-defines-template" xref="html.css.content"/><link type="xslt-defines-template" xref="html.css.core"/><link type="xslt-defines-template" xref="html.css.elements"/><link type="xslt-defines-template" xref="html.css.syntax"/><link type="xslt-defines-template" xref="html.css.custom"/><link type="xslt-defines-template" xref="html.js"/><link type="xslt-defines-template" xref="html.js.mathjax"/><link type="xslt-defines-template" xref="html.js.script"/><link type="xslt-defines-template" xref="html.js.content"/><link type="xslt-defines-template" xref="html.js.core"/><link type="xslt-defines-template" xref="html.js.ui"/><link type="xslt-defines-template" xref="html.js.media"/><link type="xslt-defines-template" xref="html.js.syntax"/><link type="xslt-defines-template" xref="html.js.custom"/><link type="xslt-defines-template" xref="html.js.content.custom"/><link type="xslt-defines-template" xref="html.lang.attrs"/><link type="xslt-defines-template" xref="html.syntax.class"/><link type="xslt-defines-template" xref="html.media.controls"/><link type="xslt-implements-mode" xref="html.output.after.mode"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.body.attr.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="html.class.attr.mode"/><link type="xslt-implements-mode" xref="html.content.pre.mode"/><link type="xslt-implements-mode" xref="html.content.post.mode"/><link type="xslt-implements-mode" xref="html.css.mode"/><link type="xslt-implements-mode" xref="html.js.mode"/><link type="xslt-implements-mode" xref="html.syntax.class.mode"/><link type="xslt-defines-param" xref="html.basename"/><link type="xslt-defines-param" xref="html.xhtml"/><link type="xslt-defines-param" xref="html.namespace"/><link type="xslt-defines-param" xref="html.extension"/><link type="xslt-defines-param" xref="html.css.root"/><link type="xslt-defines-param" xref="html.js.root"/><link type="xslt-defines-param" xref="html.syntax.highlight"/><link type="xslt-defines-param" xref="html.output.prefix"/></info><title>HTML Output</title><p>Common utilities and CSS for transformations to HTML.</p><p>This stylesheet contains common templates for creating HTML output. The <code style="xslt-template" xref="html.output">html.output</code> template creates an output file for a node in the source XML document, calling <code style="xslt-template" xref="html.page">html.page</code> to create the actual output. Output files can be either XHTML or HTML, depending on the <code style="xslt-param" xref="html.xhtml">html.xhtml</code> parameter.</p><p>This stylesheet matches <code>/</code> and calls <code style="xslt-template" xref="html.output">html.output</code> on the root XML element. This works for most input formats. If you need to do something different, you should override the match for <code>/</code>.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Requires Stylesheets</title><item><p><link xref="color"/></p></item><item><p><link xref="icons"/></p></item><item><p><link xref="l10n"/></p></item></list><list style="compact"><title>Calls Templates</title><item><p><link xref="l10n.direction"/></p></item><item><p><link xref="l10n.align.start"/></p></item><item><p><link xref="l10n.gettext"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="color.bg"/></p></item><item><p><link xref="color.bg.blue"/></p></item><item><p><link xref="color.bg.dark"/></p></item><item><p><link xref="color.bg.gray"/></p></item><item><p><link xref="color.bg.green"/></p></item><item><p><link xref="color.bg.red"/></p></item><item><p><link xref="color.bg.yellow"/></p></item><item><p><link xref="color.blue"/></p></item><item><p><link xref="color.fg"/></p></item><item><p><link xref="color.fg.blue"/></p></item><item><p><link xref="color.fg.dark"/></p></item><item><p><link xref="color.fg.gray"/></p></item><item><p><link xref="color.fg.green"/></p></item><item><p><link xref="color.fg.orange"/></p></item><item><p><link xref="color.fg.purple"/></p></item><item><p><link xref="color.fg.red"/></p></item><item><p><link xref="color.fg.yellow"/></p></item><item><p><link xref="color.gray"/></p></item><item><p><link xref="color.red"/></p></item><item><p><link xref="color.yellow"/></p></item><item><p><link xref="html.basename"/></p></item><item><p><link xref="html.extension"/></p></item><item><p><link xref="html.syntax.highlight"/></p></item><item><p><link xref="html.xhtml"/></p></item><item><p><link xref="icons.size.quote"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>/</code></p></td></tr><tr><td><p><link xref="html.body.attr.mode">html.body.attr.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.class.attr.mode">html.class.attr.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.content.post.mode">html.content.post.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.content.pre.mode">html.content.pre.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.css.mode">html.css.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.js.mode">html.js.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.output.after.mode">html.output.after.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.syntax.class.mode">html.syntax.class.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>*</code></p></td></tr></tbody></table></page>
+<page xmlns="http://projectmallard.org/1.0/" id="html" type="guide" style="xslt-stylesheet"><info><link type="guide" xref="stylesheets" group="html"/><revision version="1.0" date="2010-05-26" status="final"/><link type="xslt-requires" xref="l10n"/><link type="xslt-requires" xref="color"/><link type="xslt-requires" xref="icons"/><link type="xslt-defines-template" xref="html.output"/><link type="xslt-defines-template" xref="html.page"/><link type="xslt-defines-template" xref="html.top.custom"/><link type="xslt-defines-template" xref="html.bottom.custom"/><link type="xslt-defines-template" xref="html.sidebar"/><link type="xslt-defines-template" xref="_html.sidebar.sidebar"/><link type="xslt-defines-template" xref="html.sidebar.contents"/><link type="xslt-defines-template" xref="html.sidebar.sections"/><link type="xslt-defines-template" xref="html.sidebar.custom"/><link type="xslt-defines-template" xref="html.header.custom"/><link type="xslt-defines-template" xref="html.footer.custom"/><link type="xslt-defines-template" xref="html.head.top.custom"/><link type="xslt-defines-template" xref="html.head.custom"/><link type="xslt-defines-template" xref="html.linktrails.empty"/><link type="xslt-defines-template" xref="html.linktrails.prefix"/><link type="xslt-defines-template" xref="html.class.attr"/><link type="xslt-defines-template" xref="html.content.pre"/><link type="xslt-defines-template" xref="html.content.pre.custom"/><link type="xslt-defines-template" xref="html.content.post"/><link type="xslt-defines-template" xref="html.content.post.custom"/><link type="xslt-defines-template" xref="html.css"/><link type="xslt-defines-template" xref="html.css.content"/><link type="xslt-defines-template" xref="html.css.core"/><link type="xslt-defines-template" xref="html.css.elements"/><link type="xslt-defines-template" xref="html.css.syntax"/><link type="xslt-defines-template" xref="html.css.custom"/><link type="xslt-defines-template" xref="html.js"/><link type="xslt-defines-template" xref="html.js.mathjax"/><link type="xslt-defines-template" xref="html.js.script"/><link type="xslt-defines-template" xref="html.js.content"/><link type="xslt-defines-template" xref="html.js.core"/><link type="xslt-defines-template" xref="html.js.ui"/><link type="xslt-defines-template" xref="html.js.media"/><link type="xslt-defines-template" xref="html.js.syntax"/><link type="xslt-defines-template" xref="html.js.custom"/><link type="xslt-defines-template" xref="html.js.content.custom"/><link type="xslt-defines-template" xref="html.lang.attrs"/><link type="xslt-defines-template" xref="html.syntax.class"/><link type="xslt-defines-template" xref="html.media.controls"/><link type="xslt-implements-mode" xref="html.output.after.mode"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.body.attr.mode"/><link type="xslt-implements-mode" xref="html.sidebar.mode"/><link type="xslt-implements-mode" xref="html.sidebar.contents.mode"/><link type="xslt-implements-mode" xref="html.sidebar.sections.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="html.class.attr.mode"/><link type="xslt-implements-mode" xref="html.content.pre.mode"/><link type="xslt-implements-mode" xref="html.content.post.mode"/><link type="xslt-implements-mode" xref="html.css.mode"/><link type="xslt-implements-mode" xref="html.js.mode"/><link type="xslt-implements-mode" xref="html.syntax.class.mode"/><link type="xslt-defines-param" xref="html.basename"/><link type="xslt-defines-param" xref="html.xhtml"/><link type="xslt-defines-param" xref="html.namespace"/><link type="xslt-defines-param" xref="html.extension"/><link type="xslt-defines-param" xref="html.css.root"/><link type="xslt-defines-param" xref="html.js.root"/><link type="xslt-defines-param" xref="html.syntax.highlight"/><link type="xslt-defines-param" xref="html.output.prefix"/><link type="xslt-defines-param" xref="html.sidebar.left"/><link type="xslt-defines-param" xref="html.sidebar.right"/></info><title>HTML Output</title><p>Common utilities and CSS for transformations to HTML.</p><p>This stylesheet contains common templates for creating HTML output. The <code style="xslt-template" xref="html.output">html.output</code> template creates an output file for a node in the source XML document, calling <code style="xslt-template" xref="html.page">html.page</code> to create the actual output. Output files can be either XHTML or HTML, depending on the <code style="xslt-param" xref="html.xhtml">html.xhtml</code> parameter.</p><p>This stylesheet matches <code>/</code> and calls <code style="xslt-template" xref="html.output">html.output</code> on the root XML element. This works for most input formats. If you need to do something different, you should override the match for <code>/</code>.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Requires Stylesheets</title><item><p><link xref="color"/></p></item><item><p><link xref="icons"/></p></item><item><p><link xref="l10n"/></p></item></list><list style="compact"><title>Calls Templates</title><item><p><link xref="l10n.direction"/></p></item><item><p><link xref="l10n.align.start"/></p></item><item><p><link xref="l10n.gettext"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="color.bg"/></p></item><item><p><link xref="color.bg.blue"/></p></item><item><p><link xref="color.bg.dark"/></p></item><item><p><link xref="color.bg.gray"/></p></item><item><p><link xref="color.bg.green"/></p></item><item><p><link xref="color.bg.red"/></p></item><item><p><link xref="color.bg.yellow"/></p></item><item><p><link xref="color.blue"/></p></item><item><p><link xref="color.fg"/></p></item><item><p><link xref="color.fg.blue"/></p></item><item><p><link xref="color.fg.dark"/></p></item><item><p><link xref="color.fg.gray"/></p></item><item><p><link xref="color.fg.green"/></p></item><item><p><link xref="color.fg.orange"/></p></item><item><p><link xref="color.fg.purple"/></p></item><item><p><link xref="color.fg.red"/></p></item><item><p><link xref="color.fg.yellow"/></p></item><item><p><link xref="color.gray"/></p></item><item><p><link xref="color.red"/></p></item><item><p><link xref="color.yellow"/></p></item><item><p><link xref="html.basename"/></p></item><item><p><link xref="html.extension"/></p></item><item><p><link xref="html.sidebar.left"/></p></item><item><p><link xref="html.sidebar.right"/></p></item><item><p><link xref="html.syntax.highlight"/></p></item><item><p><link xref="html.xhtml"/></p></item><item><p><link xref="icons.size.quote"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>/</code></p></td></tr><tr><td><p><link xref="html.body.attr.mode">html.body.attr.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.class.attr.mode">html.class.attr.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.content.post.mode">html.content.post.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.content.pre.mode">html.content.pre.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.css.mode">html.css.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.js.mode">html.js.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.output.after.mode">html.output.after.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.sidebar.contents.mode">html.sidebar.contents.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.sidebar.mode">html.sidebar.mode</link></p></td><td><p><code>token[. = 'blank']</code></p></td></tr><tr><td><p><link xref="html.sidebar.mode">html.sidebar.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.sidebar.mode">html.sidebar.mode</link></p></td><td><p><code>token[. = 'contents']</code></p></td></tr><tr><td><p><link xref="html.sidebar.mode">html.sidebar.mode</link></p></td><td><p><code>token[. = 'sections']</code></p></td></tr><tr><td><p><link xref="html.sidebar.sections.mode">html.sidebar.sections.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.syntax.class.mode">html.syntax.class.mode</link></p></td><td><p><code>*</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>*</code></p></td></tr></tbody></table></page>
diff --git a/doc/yelp-xsl/C/html.page.page b/doc/yelp-xsl/C/html.page.page
index c69827e6..1e5ce99a 100644
--- a/doc/yelp-xsl/C/html.page.page
+++ b/doc/yelp-xsl/C/html.page.page
@@ -10,6 +10,6 @@
</terms></synopsis>
<p>This template creates the actual HTML output for <code style="xslt-param">node</code>. It outputs top-level elements and container divs, and calls various templates and modes to output the inner content. Importing stylesheets should implement at least <code style="xslt-mode" xref="html.title.mode">html.title.mode</code> and <code style="xslt-mode" xref="html.body.mode">html.body.mode</code> for any elements that could be passed as <code style="xslt-param">node</code> to this template. Importing stylesheets should also implement <code style="xslt-mode" xref="html.header.mode">html.header.mode</code> to output link trails and <code style="xslt-mode" xref="html.footer.mode">html.footer.mode</code> to output credits and other page information.</p>
<p>This template outputs the HTML <code>body</code> element, which takes it attributes from two sources. First, it calls <code style="xslt-template" xref="html.lang.attrs">html.lang.attrs</code>, which automatically outputs correct <code>lang</code>, <code>xml:lang</code>, and <code>dir</code> attributes. It then calls <code style="xslt-mode" xref="html.body.attr.mode">html.body.attr.mode</code> on <code style="xslt-param">node</code> for additional attributes.</p>
- <p>This template also calls a number of stub templates that can be overridden by extension stylesheets. Override the <code style="xslt-template" xref="html.head.custom">html.head.custom</code> template to put custom content at the end of the HTML <code>head</code> element. Override the <code style="xslt-template" xref="html.head.top.custom">html.head.top.custom</code> template to put custom content at the beginning of the HTML <code>head</code> element. Override the <code style="xslt-template" xref="html.top.custom">html.top.custom</code> and <code style="xslt-template" xref="html.bottom.custom">html.bottom.custom</code> templates to add site-specific content at the top and bottom of the page. Override the <code style="xslt-template" xref="html.header.custom">html.header.custom</code> and <code style="xslt-template" xref="html.footer.custom">html.footer.custom</code> templates to provide additional content directoy above and below the main content. Override <code style="xslt-template" xref="html.sidebar.custom">html.sidebar.custom</code> to create sidebars.</p>
+ <p>This template also calls a number of stub templates that can be overridden by extension stylesheets. Override the <code style="xslt-template" xref="html.head.custom">html.head.custom</code> template to put custom content at the end of the HTML <code>head</code> element. Override the <code style="xslt-template" xref="html.head.top.custom">html.head.top.custom</code> template to put custom content at the beginning of the HTML <code>head</code> element. Override the <code style="xslt-template" xref="html.top.custom">html.top.custom</code> and <code style="xslt-template" xref="html.bottom.custom">html.bottom.custom</code> templates to add site-specific content at the top and bottom of the page. Override the <code style="xslt-template" xref="html.header.custom">html.header.custom</code> and <code style="xslt-template" xref="html.footer.custom">html.footer.custom</code> templates to provide additional content directoy above and below the main content. Use the <code style="xslt-param" xref="html.sidebar.left">html.sidebar.left</code> and <code style="xslt-param" xref="html.sidebar.right">html.sidebar.right</code> parameters to create stock sidebars, or override <code style="xslt-template" xref="html.sidebar.custom">html.sidebar.custom</code> to create your own.</p>
<p>This template also calls <code style="xslt-template" xref="html.css">html.css</code> and <code style="xslt-template" xref="html.js">html.js</code> to output CSS and JavaScript elements. See those templates for further extension points.</p>
-<list style="compact"><title>Calls Templates</title><item><p><link xref="html.head.top.custom"/></p></item><item><p><link xref="html.sidebar.custom"/></p></item><item><p><link xref="html.header.custom"/></p></item></list><list style="compact"><title>Calls Modes</title><item><p><link xref="html.body.attr.mode"/></p></item><item><p><link xref="html.body.mode"/></p></item><item><p><link xref="html.footer.mode"/></p></item><item><p><link xref="html.header.mode"/></p></item><item><p><link xref="html.title.mode"/></p></item></list></page>
+<list style="compact"><title>Calls Templates</title><item><p><link xref="html.head.top.custom"/></p></item><item><p><link xref="html.sidebar"/></p></item><item><p><link xref="html.header.custom"/></p></item></list><list style="compact"><title>Calls Modes</title><item><p><link xref="html.body.attr.mode"/></p></item><item><p><link xref="html.body.mode"/></p></item><item><p><link xref="html.footer.mode"/></p></item><item><p><link xref="html.header.mode"/></p></item><item><p><link xref="html.title.mode"/></p></item></list></page>
diff --git a/doc/yelp-xsl/C/html.sidebar.contents.mode.page b/doc/yelp-xsl/C/html.sidebar.contents.mode.page
new file mode 100644
index 00000000..2ca27948
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.contents.mode.page
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.contents.mode" type="topic" style="xslt-mode"><info><link type="guide" xref="html" group="modes"/><link type="guide" xref="modes" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output a table of contents for a sidebar.</desc></info><title>html.sidebar.contents.mode</title><p>Output a table of contents for a sidebar.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>side</code></title>
+ <p>Which sidebar, either <code>left</code> or <code>right</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This mode is called by <code style="xslt-mode" xref="html.sidebar.contents">html.sidebar.contents</code> to allow different input formats to implement a table of contents for a sidebar.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.contents.page b/doc/yelp-xsl/C/html.sidebar.contents.page
new file mode 100644
index 00000000..d3d6cd33
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.contents.page
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.contents" type="topic" style="xslt-template"><info><link type="guide" xref="html" group="templates"/><link type="guide" xref="templates" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output a table of contents for a sidebar.</desc></info><title>html.sidebar.contents</title><p>Output a table of contents for a sidebar.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The node a sidebar is being created for.</p>
+ </item>
+ <item>
+ <title><code>side</code></title>
+ <p>Which sidebar, either <code>left</code> or <code>right</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This template creates a table of contents for a sidebar. It applies <code style="xslt-mode" xref="html.sidebar.contents.mode">html.sidebar.contents.mode</code> to <code style="xslt-param">node</code>, passing <code style="xslt-param">side</code> as a parameter, to allow individual input formats to implement tables of contents.</p>
+ <p>This named template also implements <code style="xslt-mode" xref="html.sidebar.mode">html.sidebar.mode</code> on the <code>contents</code> token. See <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for more information on how sidebars are created.</p>
+<list style="compact"><title>Calls Modes</title><item><p><link xref="html.sidebar.contents.mode"/></p></item></list></page>
diff --git a/doc/yelp-xsl/C/html.sidebar.custom.page b/doc/yelp-xsl/C/html.sidebar.custom.page
index a187e2c5..0c5a1ee9 100644
--- a/doc/yelp-xsl/C/html.sidebar.custom.page
+++ b/doc/yelp-xsl/C/html.sidebar.custom.page
@@ -10,4 +10,5 @@
</item>
</terms></synopsis>
<p>This template is a stub, called by <code style="xslt-template" xref="html.page">html.page</code>. It is called inside the <code>main</code> element, before the <code>div.page</code> element. The <code>main</code> element uses a horizontal flexbox by default. You can override this template to provide sidebar content. Note that there is only one extension point for sidebar content, and it is always placed before the main content in document order. To create a sidebar on the right, output the element here, then adjust the <code>order</code> CSS property for that element to display it after the <code>main</code> element.</p>
+ <p>This template is intended for completely custom sidebars. You can also use <code style="xslt-template" xref="html.sidebar">html.sidebar</code> to output sidebars with stock components.</p>
</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.left.page b/doc/yelp-xsl/C/html.sidebar.left.page
new file mode 100644
index 00000000..f808db3c
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.left.page
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.left" type="topic" style="xslt-param"><info><link type="guide" xref="html" group="parameters"/><link type="guide" xref="parameters" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>List of components to add to the left sidebar.</desc></info><title>html.sidebar.left</title><p>List of components to add to the left sidebar.</p>
+
+
+ <p>This parameter takes a space-separated list of tokens that specify which components to add to the stock left sidebar. These stylesheets recognize certain tokens, and you can add your own with <code style="xslt-mode" xref="html.sidebar.mode">html.sidebar.mode</code>. See <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for further details.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.mode.page b/doc/yelp-xsl/C/html.sidebar.mode.page
new file mode 100644
index 00000000..0076e3de
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.mode.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.mode" type="topic" style="xslt-mode"><info><link type="guide" xref="html" group="modes"/><link type="guide" xref="modes" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output a sidebar compenent for a token.</desc></info><title>html.sidebar.mode</title><p>Output a sidebar compenent for a token.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The node a sidebar is being created for.</p>
+ </item>
+ <item>
+ <title><code>side</code></title>
+ <p>Which sidebar, either <code>left</code> or <code>right</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This mode is called by <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for each sidebar compenent in each of <code style="xslt-param" xref="html.sidebar.left">html.sidebar.left</code> and <code style="xslt-param" xref="html.sidebar.right">html.sidebar.right</code>. See <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for full details.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.page b/doc/yelp-xsl/C/html.sidebar.page
new file mode 100644
index 00000000..19c2aacb
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar" type="topic" style="xslt-template"><info><link type="guide" xref="html" group="templates"/><link type="guide" xref="templates" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output stock sidebars.</desc></info><title>html.sidebar</title><p>Output stock sidebars.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The node a sidebar is being created for.</p>
+ </item>
+ </terms></synopsis>
+ <p>This templates outputs left and right sidebars according to the components listed in <code style="xslt-param" xref="html.sidebar.left">html.sidebar.left</code> and <code style="xslt-param" xref="html.sidebar.right">html.sidebar.right</code>. It only outputs each sidebar if the corresponding parameters is not empty or the string <code>none</code>.</p>
+ <p>This template is called inside the <code>main</code> element, before the <code>div.page</code> element, and before <code style="xslt-template" xref="html.sidebar.custom">html.sidebar.custom</code>. Note that even the right sidebar is placed before the <code>div.page</code> element. It is placed on the right using flexbox item reordering.</p>
+ <p>To actually output the sidebar components, this template splits each parameter on whitespace using the EXSTL <code>str:split</code> function. It then applies the mode <code style="xslt-mode" xref="html.sidebar.mode">html.sidebar.mode</code> to each token, passing <code style="xslt-param">node</code> and the sidebar side as parameters. Extension stylesheets can add their own sidebar components by implementing that mode and matching a pattern like <code>token[. = 'name-of-token']</code>. You will then be able to use <code>name-of-token</code> in <code style="xslt-param" xref="html.sidebar.left">html.sidebar.left</code> or <code style="xslt-param" xref="html.sidebar.right">html.sidebar.right</code>.</p>
+ <p>This stylesheet recognizes four tokens: <code>contents</code> and <code>sections</code>, and the special tokens <code>none</code> and <code>blank</code>. The <code>contents</code> token provides a table of contents for the entire document. It is handled by the <code style="xslt-template" xref="html.sidebar.contents">html.sidebar.contents</code> template, which uses the <code style="xslt-mode" xref="html.sidebar.contents.mode">html.sidebar.contents.mode</code> mode to allow different input formats to implement it. The <code>sections</code> token lists sections on the current page. It is handled by the <code style="xslt-template" xref="html.sidebar.section">html.sidebar.section</code> template, which uses the <code style="xslt-mode" xref="html.sidebar.sections.mode">html.sidebar.sections.mode</code> mode to allow different input formats to implement it.</p>
+ <p>You can use the <code>none</code> token on its own, instead of the empty string, to completely turn off either sidebar. Use the <code>blank</code> token to output a sidebar without adding any components to it. This is useful, for example, to keep consistent margins. If an empty sidebar is output from the <code>blank</code> token, it will also have the CSS class <code>sidebar-blank</code> so you can style it differently.</p>
+<list style="compact"><title>Calls Templates</title><item><p><link xref="_html.sidebar.sidebar"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="html.sidebar.left"/></p></item><item><p><link xref="html.sidebar.right"/></p></item></list></page>
diff --git a/doc/yelp-xsl/C/html.sidebar.right.page b/doc/yelp-xsl/C/html.sidebar.right.page
new file mode 100644
index 00000000..ce23d3ca
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.right.page
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.right" type="topic" style="xslt-param"><info><link type="guide" xref="html" group="parameters"/><link type="guide" xref="parameters" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>List of components to add to the right sidebar.</desc></info><title>html.sidebar.right</title><p>List of components to add to the right sidebar.</p>
+
+
+ <p>This parameter takes a space-separated list of tokens that specify which components to add to the stock right sidebar. These stylesheets recognize certain tokens, and you can add your own with <code style="xslt-mode" xref="html.sidebar.mode">html.sidebar.mode</code>. See <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for further details.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.sections.mode.page b/doc/yelp-xsl/C/html.sidebar.sections.mode.page
new file mode 100644
index 00000000..81ae4251
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.sections.mode.page
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.sections.mode" type="topic" style="xslt-mode"><info><link type="guide" xref="html" group="modes"/><link type="guide" xref="modes" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output a list of sections for a sidebar.</desc></info><title>html.sidebar.sections.mode</title><p>Output a list of sections for a sidebar.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>side</code></title>
+ <p>Which sidebar, either <code>left</code> or <code>right</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This mode is called by <code style="xslt-mode" xref="html.sidebar.sections">html.sidebar.sections</code> to allow different input formats to implement a sections list for a sidebar.</p>
+</page>
diff --git a/doc/yelp-xsl/C/html.sidebar.sections.page b/doc/yelp-xsl/C/html.sidebar.sections.page
new file mode 100644
index 00000000..021003f1
--- /dev/null
+++ b/doc/yelp-xsl/C/html.sidebar.sections.page
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="html.sidebar.sections" type="topic" style="xslt-template"><info><link type="guide" xref="html" group="templates"/><link type="guide" xref="templates" group="html"/><revision version="3.30" date="2018-06-10" status="candidate"/><desc>Output a list of sections for a sidebar.</desc></info><title>html.sidebar.sections</title><p>Output a list of sections for a sidebar.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The node a sidebar is being created for.</p>
+ </item>
+ <item>
+ <title><code>side</code></title>
+ <p>Which sidebar, either <code>left</code> or <code>right</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This template creates a list of sections on the current page for a sidebar. It applies <code style="xslt-mode" xref="html.sidebar.sections.mode">html.sidebar.sections.mode</code> to <code style="xslt-param">node</code>, passing <code style="xslt-param">side</code> as a parameter, to allow individual input formats to implement sections lists.</p>
+ <p>This named template also implements <code style="xslt-mode" xref="html.sidebar.mode">html.sidebar.mode</code> on the <code>sections</code> token. See <code style="xslt-template" xref="html.sidebar">html.sidebar</code> for more information on how sidebars are created.</p>
+<list style="compact"><title>Calls Modes</title><item><p><link xref="html.sidebar.sections.mode"/></p></item></list></page>
diff --git a/doc/yelp-xsl/C/mal.link.target.extended.page b/doc/yelp-xsl/C/mal.link.target.extended.page
new file mode 100644
index 00000000..cb73fe13
--- /dev/null
+++ b/doc/yelp-xsl/C/mal.link.target.extended.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="mal.link.target.extended" type="topic" style="xslt-template"><info><link type="guide" xref="mal-link" group="templates"/><link type="guide" xref="templates" group="mal"/><link type="guide" xref="stubs" group="mal"/><revision version="3.28" date="2017-08-11" status="final"/><desc>Output the target URL for an element with an extended <code>xref</code> attribute.</desc><stub xmlns="http://projects.gnome.org/yelp/xsldoc/"/></info><title>mal.link.target.extended</title><p>Output the target URL for an element with an extended <code>xref</code> attribute.</p><note><p>This template is a stub. Customizations may override it for
+ additional functionality.</p></note>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>The <code>link</code> or other element creating the link.</p>
+ </item>
+ <item>
+ <title><code>action</code></title>
+ <p>The <code>action</code> attribute of <code style="xslt-param">node</code>.</p>
+ </item>
+ <item>
+ <title><code>xref</code></title>
+ <p>The <code>xref</code> attribute of <code style="xslt-param">node</code>.</p>
+ </item>
+ <item>
+ <title><code>href</code></title>
+ <p>The <code>href</code> attribute of <code style="xslt-param">node</code>.</p>
+ </item>
+ </terms></synopsis>
+ <p>This template is called by <code style="xslt-template" xref="mal.link.target">mal.link.target</code> to create URLs for links with a <code>/</code> or <code>:</code> in the <code>xref</code> attribute. By default, it just outputs the value of <code style="xslt-param">href</code>. Override this template to provide behavior for extended <code>xref</code> attributes.</p>
+</page>
diff --git a/doc/yelp-xsl/C/mal2html-page.page b/doc/yelp-xsl/C/mal2html-page.page
index 4f716291..313880a5 100644
--- a/doc/yelp-xsl/C/mal2html-page.page
+++ b/doc/yelp-xsl/C/mal2html-page.page
@@ -1,2 +1,2 @@
<?xml version="1.0"?>
-<page xmlns="http://projectmallard.org/1.0/" id="mal2html-page" type="guide" style="xslt-stylesheet"><?xslt-private _mal2html.page.about.credits?><info><link type="guide" xref="stylesheets" group="mal2html"/><revision version="3.8" date="2012-11-05" status="final"/><link type="xslt-defines-template" xref="mal2html.page.about"/><link type="xslt-defines-template" xref="mal2html.page.linktrails"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.empty"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.trail"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.trail.prefix"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.link"/><link type="xslt-defines-template" xref="mal2html.editor.badge"/><link type="xslt-defines-template" xref="mal2html.editor.banner"/><link type="xslt-defines-template" xref="mal2html.section"/><link type="xslt-implements-mode" xref="l10n.format.mode"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="mal2html.title.mode"/><link type="xslt-implements-mode" xref="html.css.mode"/><link type="xslt-implements-mode" xref="html.js.mode"/><link type="xslt-defines-param" xref="mal2html.editor_mode"/></info><title>Mallard to HTML - Pages</title><p>Handle pages, sections, and top-level data.</p><p>This stylesheet contains templates to process Mallard <code>page</code> and <code>section</code> elements, including implementations of the interfaces provided by the common <file xref="html">html</file> stylesheet.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Calls Templates</title><item><p><link xref="l10n.gettext"/></p></item><item><p><link xref="mal.link.linktrails"/></p></item><item><p><link xref="html.linktrails.empty"/></p></item><item><p><link xref="l10n.direction"/></p></item><item><p><link xref="mal.link.target"/></p></item><item><p><link xref="mal.link.tooltip"/></p></item><item><p><link xref="mal.link.content"/></p></item><item><p><link xref="html.class.attr"/></p></item><item><p><link xref="mal2html.links.topic"/></p></item><item><p><link xref="mal2html.links.guide"/></p></item></list><list style="compact"><title>Calls Modes</title><item><p><link xref="mal2html.block.mode"/></p></item><item><p><link xref="mal2html.inline.mode"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="color.bg"/></p></item><item><p><link xref="color.bg.blue"/></p></item><item><p><link xref="color.bg.gray"/></p></item><item><p><link xref="color.bg.red"/></p></item><item><p><link xref="color.bg.yellow"/></p></item><item><p><link xref="color.blue"/></p></item><item><p><link xref="color.fg"/></p></item><item><p><link xref="color.fg.blue"/></p></item><item><p><link xref="color.fg.dark"/></p></item><item><p><link xref="color.gray"/></p></item><item><p><link xref="color.red"/></p></item><item><p><link xref="color.yellow"/></p></item><item><p><link xref="mal2html.editor_mode"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>mal:page | mal:section</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.css.mode">html.css.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.js.mode">html.js.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="l10n.format.mode">l10n.format.mode</link></p></td><td><p><code>msg:copyright.years</code></p></td></tr><tr><td><p><link xref="l10n.format.mode">l10n.format.mode</link></p></td><td><p><code>msg:copyright.name</code></p></td></tr><tr><td><p><link xref="mal2html.title.mode">mal2html.title.mode</link></p></td><td><p><code>mal:title | mal:subtitle</code></p></td></tr></tbody></table></page>
+<page xmlns="http://projectmallard.org/1.0/" id="mal2html-page" type="guide" style="xslt-stylesheet"><?xslt-private _mal2html.page.about.credits?><info><link type="guide" xref="stylesheets" group="mal2html"/><revision version="3.8" date="2012-11-05" status="final"/><link type="xslt-defines-template" xref="mal2html.page.about"/><link type="xslt-defines-template" xref="mal2html.page.linktrails"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.empty"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.trail"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.trail.prefix"/><link type="xslt-defines-template" xref="mal2html.page.linktrails.link"/><link type="xslt-defines-template" xref="mal2html.editor.badge"/><link type="xslt-defines-template" xref="mal2html.editor.banner"/><link type="xslt-defines-template" xref="_html.sidebar.contents.ul"/><link type="xslt-defines-template" xref="mal2html.section"/><link type="xslt-implements-mode" xref="l10n.format.mode"/><link type="xslt-implements-mode" xref="html.title.mode"/><link type="xslt-implements-mode" xref="html.header.mode"/><link type="xslt-implements-mode" xref="html.footer.mode"/><link type="xslt-implements-mode" xref="html.sidebar.contents.mode"/><link type="xslt-implements-mode" xref="html.sidebar.sections.mode"/><link type="xslt-implements-mode" xref="html.body.mode"/><link type="xslt-implements-mode" xref="mal2html.title.mode"/><link type="xslt-implements-mode" xref="html.css.mode"/><link type="xslt-implements-mode" xref="html.js.mode"/><link type="xslt-defines-param" xref="mal2html.editor_mode"/></info><title>Mallard to HTML - Pages</title><p>Handle pages, sections, and top-level data.</p><p>This stylesheet contains templates to process Mallard <code>page</code> and <code>section</code> elements, including implementations of the interfaces provided by the common <file xref="html">html</file> stylesheet.</p><links type="topic" groups="stylesheets" style="linklist"><title>Stylesheets</title></links><links type="topic" groups="parameters" style="linklist"><title>Parameters</title></links><links type="topic" groups="modes" style="linklist"><title>Modes</title></links><links type="topic" groups="templates" style="linklist"><title>Templates</title></links><links type="topic" groups="keys" style="linklist"><title>Keys</title></links><list style="compact"><title>Calls Templates</title><item><p><link xref="l10n.gettext"/></p></item><item><p><link xref="mal.link.linktrails"/></p></item><item><p><link xref="html.linktrails.empty"/></p></item><item><p><link xref="l10n.direction"/></p></item><item><p><link xref="mal.link.target"/></p></item><item><p><link xref="mal.link.tooltip"/></p></item><item><p><link xref="mal.link.content"/></p></item><item><p><link xref="_mal2html.links.section.ul"/></p></item><item><p><link xref="html.class.attr"/></p></item><item><p><link xref="mal2html.links.topic"/></p></item><item><p><link xref="mal2html.links.guide"/></p></item></list><list style="compact"><title>Calls Modes</title><item><p><link xref="mal2html.block.mode"/></p></item><item><p><link xref="mal2html.inline.mode"/></p></item></list><list style="compact"><title>Calls Keys</title><item><p><link xref="mal.cache.key"/></p></item></list><list style="compact"><title>Calls Parameters</title><item><p><link xref="color.bg"/></p></item><item><p><link xref="color.bg.blue"/></p></item><item><p><link xref="color.bg.gray"/></p></item><item><p><link xref="color.bg.red"/></p></item><item><p><link xref="color.bg.yellow"/></p></item><item><p><link xref="color.blue"/></p></item><item><p><link xref="color.fg"/></p></item><item><p><link xref="color.fg.blue"/></p></item><item><p><link xref="color.fg.dark"/></p></item><item><p><link xref="color.gray"/></p></item><item><p><link xref="color.red"/></p></item><item><p><link xref="color.yellow"/></p></item><item><p><link xref="mal.cache"/></p></item><item><p><link xref="mal.link.default_root"/></p></item><item><p><link xref="mal2html.editor_mode"/></p></item></list><table><title>Implements Templates</title><thead><tr><th><p>Mode</p></th><th><p>Match</p></th></tr></thead><tbody><tr><td><p/></td><td><p><code>mal:page | mal:section</code></p></td></tr><tr><td><p><link xref="html.body.mode">html.body.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.css.mode">html.css.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.footer.mode">html.footer.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.header.mode">html.header.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.js.mode">html.js.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.sidebar.contents.mode">html.sidebar.contents.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.sidebar.sections.mode">html.sidebar.sections.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="html.title.mode">html.title.mode</link></p></td><td><p><code>mal:page</code></p></td></tr><tr><td><p><link xref="l10n.format.mode">l10n.format.mode</link></p></td><td><p><code>msg:copyright.years</code></p></td></tr><tr><td><p><link xref="l10n.format.mode">l10n.format.mode</link></p></td><td><p><code>msg:copyright.name</code></p></td></tr><tr><td><p><link xref="mal2html.title.mode">mal2html.title.mode</link></p></td><td><p><code>mal:title | mal:subtitle</code></p></td></tr></tbody></table></page>
diff --git a/doc/yelp-xsl/C/mal2html.ui.links.img.src.page b/doc/yelp-xsl/C/mal2html.ui.links.img.src.page
new file mode 100644
index 00000000..1860f90e
--- /dev/null
+++ b/doc/yelp-xsl/C/mal2html.ui.links.img.src.page
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<page xmlns="http://projectmallard.org/1.0/" id="mal2html.ui.links.img.src" type="topic" style="xslt-template"><info><link type="guide" xref="mal2html-ui" group="templates"/><link type="guide" xref="templates" group="mal2html"/><revision version="3.28" date="2017-08-11" status="final"/><desc>Output the <code>src</code> attribute for a thumbnail image.</desc></info><title>mal2html.ui.links.img.src</title><p>Output the <code>src</code> attribute for a thumbnail image.</p>
+
+
+ <synopsis><title>Parameters</title><terms>
+ <item>
+ <title><code>node</code></title>
+ <p>A <code>links</code> element to link from.</p>
+ </item>
+ <item>
+ <title><code>thumb</code></title>
+ <p>A <code>uix:thumb</code> element.</p>
+ </item>
+ <item>
+ <title><code>width</code></title>
+ <p>The width to fit thumbnails into.</p>
+ </item>
+ <item>
+ <title><code>height</code></title>
+ <p>The height to fit thumbnails into.</p>
+ </item>
+ </terms></synopsis>
+ <p>This template outputs <code>src</code> attribute for the HTML <code>img</code> element created from <code style="xslt-param">thumb</code>. By default, it just copies the <code>src</code> attribute of <code style="xslt-param">thumb</code>. Override this template if you need to support multi-directory output.</p>
+</page>