mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03:00
docs: process code blocks similar to Markdown
Wrap pre-formatted example code in <code> elements. This works similar to Markdown[1] code blocks[2]: Every line indented with at least 2 spaces is considered a code block and gets wrapped in <pre> and <code> tags. Look at the documentation for e.g. virStreamSend for before-and-after effects. [1] http://daringfireball.net/projects/markdown/ [2] http://daringfireball.net/projects/markdown/syntax#precode
This commit is contained in:
parent
f26701f565
commit
8213f6c38e
@ -150,6 +150,67 @@
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- process blocks of text. blocks are separated by two consecutive line -->
|
||||
<!-- breaks. -->
|
||||
<!-- -->
|
||||
<!-- blocks indented with at least 2 spaces are considered code blocks. -->
|
||||
<!-- -->
|
||||
<!-- consecutive code blocks are collapsed into a single code block. -->
|
||||
<xsl:template name="formatblock">
|
||||
<xsl:param name="block"/>
|
||||
<xsl:param name="rest"/>
|
||||
|
||||
<xsl:variable name="multipleCodeBlocks"
|
||||
select="starts-with($block, ' ') and starts-with($rest, ' ')"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$multipleCodeBlocks">
|
||||
<xsl:call-template name="formatblock">
|
||||
<xsl:with-param name="block">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($rest, '

')">
|
||||
<xsl:value-of select="concat($block, '
 
',
|
||||
substring-before($rest, '

'))" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="concat($block, '
 
', $rest)" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="rest" select="substring-after($rest, '

')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:when test="starts-with($block, ' ')">
|
||||
<pre class="code"><xsl:for-each select="str:tokenize($block, '
')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with(., ' ')">
|
||||
<xsl:value-of select="substring(., 3)"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="position() != last()">
|
||||
<xsl:text>
</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:for-each></pre>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<p>
|
||||
<xsl:call-template name="dumptext">
|
||||
<xsl:with-param name="text" select="$block"/>
|
||||
</xsl:call-template>
|
||||
</p>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="not($multipleCodeBlocks)">
|
||||
<xsl:call-template name="formattext">
|
||||
<xsl:with-param name="text" select="$rest"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="formattext">
|
||||
<xsl:param name="text" />
|
||||
|
||||
@ -157,28 +218,19 @@
|
||||
<xsl:variable name="head" select="substring-before($text, '

')"/>
|
||||
<xsl:variable name="rest" select="substring-after($text, '

')"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$head">
|
||||
<p>
|
||||
<xsl:call-template name="dumptext">
|
||||
<xsl:with-param name="text" select="$head"/>
|
||||
</xsl:call-template>
|
||||
</p>
|
||||
</xsl:when>
|
||||
<xsl:when test="not($rest)">
|
||||
<p>
|
||||
<xsl:call-template name="dumptext">
|
||||
<xsl:with-param name="text" select="$text"/>
|
||||
</xsl:call-template>
|
||||
</p>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="$rest">
|
||||
<xsl:call-template name="formattext">
|
||||
<xsl:with-param name="text" select="$rest"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="formatblock">
|
||||
<xsl:with-param name="block">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($text, '

')">
|
||||
<xsl:value-of select="$head"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$text"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="rest" select="$rest"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user