mirror of
https://github.com/boostorg/boostbook.git
synced 2025-05-09 15:03:57 +00:00
Merge branch 'develop'
This commit is contained in:
commit
18c73d8f01
@ -64,7 +64,21 @@ Embedded docbook list:</para><para>
|
||||
</itemizedlist>
|
||||
Line 1<sbr/>
|
||||
Line 2</para><para><programlisting language="c++">void foo() {}
|
||||
</programlisting></para><para>
|
||||
void foo2() {}
|
||||
</programlisting></para><para><programlisting language="c++">void bar() {}
|
||||
|
||||
void bar2() {}
|
||||
</programlisting></para><para>Alternative way of writing code, has a complicated workaround because doxygen treats the empty line as a paragraph separator:</para><programlisting>
|
||||
int bar();
|
||||
|
||||
int bar2();
|
||||
</programlisting><para>Unfortunately the workaround will merge consecutive blocks, like this:</para><programlisting>
|
||||
int foo();
|
||||
|
||||
|
||||
|
||||
int foo2();
|
||||
</programlisting><para>
|
||||
</para></description></struct><struct name="specialization_test"><template>
|
||||
<template-type-parameter name="T"/>
|
||||
</template></struct><struct-specialization name="specialization_test"><template>
|
||||
|
@ -153,8 +153,36 @@ namespace example
|
||||
*
|
||||
* \code
|
||||
* void foo() {}
|
||||
* void foo2() {}
|
||||
* \endcode
|
||||
*
|
||||
* \code
|
||||
* void bar() {}
|
||||
*
|
||||
* void bar2() {}
|
||||
* \endcode
|
||||
*
|
||||
* Alternative way of writing code, has a complicated workaround
|
||||
* because doxygen treats the empty line as a paragraph
|
||||
* separator:
|
||||
*
|
||||
* <pre>
|
||||
* int bar();
|
||||
*
|
||||
* int bar2();
|
||||
* </pre>
|
||||
*
|
||||
* Unfortunately the workaround will merge consecutive blocks,
|
||||
* like this:
|
||||
*
|
||||
* <pre>
|
||||
* int foo();
|
||||
* </pre>
|
||||
*
|
||||
* <pre>
|
||||
* int foo2();
|
||||
* </pre>
|
||||
*
|
||||
* \tparam TypeParameter A template parameter
|
||||
* \tparam NonTypeParameter This is a non-type template parameter
|
||||
* \tparam TypeParameterWithDefault This is a template parameter with a default argument
|
||||
|
@ -1521,6 +1521,10 @@
|
||||
<sbr/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ndash" mode="passthrough">
|
||||
<xsl:text>–</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="briefdescription" mode="passthrough">
|
||||
<xsl:if test="text()|*">
|
||||
<purpose>
|
||||
@ -1706,6 +1710,44 @@
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Handle preformatted.
|
||||
Doxygen generates markup such as:
|
||||
<para><preformatted>void foo() {</preformatted></para>
|
||||
<para><preformatted>}</preformatted></para>
|
||||
This complicated mess tries to combine that into a single
|
||||
programlisting element.
|
||||
-->
|
||||
<xsl:template match="para[preformatted][count(preformatted)=count(*)]" mode="passthrough">
|
||||
<!-- Only do this for the first of a group of paras. -->
|
||||
<xsl:if test="not(preceding-sibling::para[1][preformatted][count(preformatted)=count(*)])">
|
||||
<programlisting>
|
||||
<!-- This node's children. -->
|
||||
<xsl:apply-templates mode="passthrough" select="./preformatted/node()"/>
|
||||
|
||||
<!-- Adjacent para nodes' children.
|
||||
Based on code at: http://stackoverflow.com/a/2092144 -->
|
||||
<xsl:variable name="following-siblings" select="following-sibling::*" />
|
||||
<xsl:for-each select="following-sibling::para[preformatted][count(preformatted)=count(*)]">
|
||||
<xsl:variable name="index" select="position()"/>
|
||||
<xsl:if test="generate-id(.)=generate-id($following-siblings[$index])">
|
||||
<xsl:text>

</xsl:text>
|
||||
<xsl:apply-templates mode="passthrough" select="./preformatted/node()"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</programlisting>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Remove empty preformatted elements. -->
|
||||
<xsl:template match="preformatted[not(node())]" mode="passthrough"/>
|
||||
|
||||
<!-- Convert remaining to programlisting. -->
|
||||
<xsl:template match="preformatted" mode="passthrough">
|
||||
<programlisting>
|
||||
<xsl:apply-templates mode="passthrough"/>
|
||||
</programlisting>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Handle program listings -->
|
||||
<xsl:template match="programlisting" mode="passthrough">
|
||||
<programlisting language="c++">
|
||||
|
Loading…
x
Reference in New Issue
Block a user