Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85047 - in branches/release/tools/boostbook: . xsl
From: dnljms_at_[hidden]
Date: 2013-07-15 17:24:43


Author: danieljames
Date: 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013)
New Revision: 85047
URL: http://svn.boost.org/trac/boost/changeset/85047

Log:
Fully merge boostbook from trunk.

- Optionally use section ids as a class name for CSS styling, by using the
  `boost.section.class.add.id` parameter.
- Add the `role` attribute to the class for `section` and `simplesect`.
- Update the single html template to be closer to the chunked html.
- Fix the encoding for single page html.
- Add option to permit single depth TOC at chapter level, while maintaining
  multi-depth TOC at subsequent levels. Use the `boost.noexpand.chapter.toc`
  parameter.
- Add some C++11 keywords to the syntax highlighter.
- Support the fixed-length `$Date:: $` subversion keyword in last-revision
  library attributes.

Properties modified:
   branches/release/tools/boostbook/ (props changed)
Text files modified:
   branches/release/tools/boostbook/xsl/docbook-layout.xsl | 51 ++++++++++++++++++++++++++++++++++++++++
   branches/release/tools/boostbook/xsl/html-base.xsl | 41 +++++++++++++++++++++++++++++---
   branches/release/tools/boostbook/xsl/html-help.xsl | 10 ++++---
   branches/release/tools/boostbook/xsl/html-single.xsl | 16 ++++++++++-
   branches/release/tools/boostbook/xsl/source-highlight.xsl | 2
   5 files changed, 109 insertions(+), 11 deletions(-)

Modified: branches/release/tools/boostbook/xsl/docbook-layout.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/docbook-layout.xsl Mon Jul 15 13:24:24 2013 (r85046)
+++ branches/release/tools/boostbook/xsl/docbook-layout.xsl 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013) (r85047)
@@ -10,11 +10,16 @@
 <xsl:stylesheet version = "1.0"
    xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
>
+
   <!-- needed for calsTable template -->
   
   <xsl:import
     href="http://docbook.sourceforge.net/release/xsl/current/html/formal.xsl"/>
 
+ <!-- Optionally add the section id to each section's class.
+ This is useful if you want to style individual sections differently. -->
+ <xsl:param name="boost.section.class.add.id" select="0"/>
+
   <!--
      Override the behaviour of some DocBook elements for better
      integration with the new look & feel.
@@ -208,4 +213,50 @@
       <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
     </xsl:apply-templates>
   </xsl:template>
+
+
+ <!-- Adds role class for section element resulting div. So that
+ we can style them in the resulting HTML.
+ Also, add the section id, if boost.section.class.add.id = 1.
+ This can be used to style individual sections differently. -->
+ <xsl:template match="section" mode="class.value">
+ <xsl:param name="class" select="local-name(.)"/>
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="id">
+ <xsl:if test="$boost.section.class.add.id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$node"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:value-of select="normalize-space(concat($class, ' ',
+ @role, ' ', translate($id, '.', '_')))"/>
+ </xsl:template>
+
+ <!-- Adds role class for simplesect element resulting div. So that
+ we can style them in the resulting HTML. -->
+ <xsl:template match="simplesect" mode="class.value">
+ <xsl:param name="class" select="local-name(.)"/>
+ <xsl:param name="node" select="."/>
+ <xsl:value-of select="normalize-space(concat($class,' ',@role))"/>
+ </xsl:template>
+
+ <!-- Allow for specifying that a section should not include the parents
+ labeling. This allows us to start clean numering of a sub-section. -->
+ <xsl:template match="section[@label-style='no-parent']" mode="label.markup">
+ <xsl:choose>
+ <xsl:when test="@label">
+ <xsl:value-of select="@label"/>
+ </xsl:when>
+ <xsl:when test="$label != 0">
+ <xsl:variable name="format">
+ <xsl:call-template name="autolabel.format">
+ <xsl:with-param name="format" select="$section.autolabel"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:number format="{$format}" count="section"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
 </xsl:stylesheet>

Modified: branches/release/tools/boostbook/xsl/html-base.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/html-base.xsl Mon Jul 15 13:24:24 2013 (r85046)
+++ branches/release/tools/boostbook/xsl/html-base.xsl 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013) (r85047)
@@ -35,6 +35,8 @@
   <xsl:param name="boost.mathjax" select="0"/>
   <xsl:param name="boost.mathjax.script"
              select="'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'"/>
+ <!--See usage below for explanation of this param-->
+ <xsl:param name="boost.noexpand.chapter.toc" select="0"/>
 
   <xsl:param name="admon.style"/>
   <xsl:param name="admon.graphics">1</xsl:param>
@@ -138,9 +140,9 @@
   <xsl:template name="format.svn.revision">
     <xsl:param name="text"/>
 
- <!-- Remove the "$Date: " -->
+ <!-- Remove the "$Date: " or "$Date:: " -->
     <xsl:variable name="text.noprefix"
- select="substring-after($text, '$Date: ')"/>
+ select="substring-after($text, ': ')"/>
 
     <!-- Grab the year -->
     <xsl:variable name="year" select="substring-before($text.noprefix, '-')"/>
@@ -182,8 +184,10 @@
       </xsl:choose>
     </xsl:variable>
 
- <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year, ' at ',
- $time, ' ', $timezone)"/>
+ <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year)"/>
+ <xsl:if test="$time != ''">
+ <xsl:value-of select="concat(' at ', $time, ' ', $timezone)"/>
+ </xsl:if>
   </xsl:template>
 
   <!-- Footer Copyright -->
@@ -380,4 +384,33 @@
    <xsl:value-of select="'index'"/>
 </xsl:template>
 
+<xsl:template match="preface|chapter|appendix|article" mode="toc">
+ <xsl:param name="toc-context" select="."/>
+
+ <!--
+ When boost.noexpand.chapter.toc is set to 1, then the TOC for
+ chapters is only one level deep (ie toc.max.depth has no effect)
+ and nested sections within chapters are not shown. TOC's and LOC's
+ at other levels are not effected and respond to toc.max.depth as normal.
+ -->
+ <xsl:choose>
+ <xsl:when test="local-name($toc-context) = 'book' and $boost.noexpand.chapter.toc = 1">
+ <xsl:call-template name="subtoc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ <xsl:with-param name="nodes" select="foo"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="subtoc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ <xsl:with-param name="nodes"
+ select="section|sect1|glossary|bibliography|index
+ |bridgehead[$bridgehead.in.toc != 0]"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
 </xsl:stylesheet>
+
+

Modified: branches/release/tools/boostbook/xsl/html-help.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/html-help.xsl Mon Jul 15 13:24:24 2013 (r85046)
+++ branches/release/tools/boostbook/xsl/html-help.xsl 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013) (r85047)
@@ -78,9 +78,9 @@
   <xsl:template name="format.svn.revision">
     <xsl:param name="text"/>
 
- <!-- Remove the "$Date: " -->
+ <!-- Remove the "$Date: " or "$Date:: " -->
     <xsl:variable name="text.noprefix"
- select="substring-after($text, '$Date: ')"/>
+ select="substring-after($text, ': ')"/>
 
     <!-- Grab the year -->
     <xsl:variable name="year" select="substring-before($text.noprefix, '-')"/>
@@ -122,8 +122,10 @@
       </xsl:choose>
     </xsl:variable>
 
- <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year, ' at ',
- $time, ' ', $timezone)"/>
+ <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year)"/>
+ <xsl:if test="$time != ''">
+ <xsl:value-of select="concat(' at ', $time, ' ', $timezone)"/>
+ </xsl:if>
   </xsl:template>
 
   <!-- We don't want refentry's to show up in the TOC because they

Modified: branches/release/tools/boostbook/xsl/html-single.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/html-single.xsl Mon Jul 15 13:24:24 2013 (r85046)
+++ branches/release/tools/boostbook/xsl/html-single.xsl 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013) (r85047)
@@ -13,8 +13,20 @@
   <!-- Import the HTML stylesheet -->
   <xsl:import
     href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
- <xsl:import href="admon.xsl"/>
- <xsl:import href="relative-href.xsl"/>
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/html/math.xsl"/>
+
+ <xsl:output method="html" encoding="US-ASCII" indent="no"/>
+
+ <!-- We have to make sure that our templates override all
+ docbook templates. Therefore, we include our own templates
+ instead of importing them. In order for this to work,
+ the stylesheets included here cannot also include each other -->
+ <xsl:include href="docbook-layout.xsl"/>
+ <xsl:include href="admon.xsl"/>
+ <xsl:include href="xref.xsl"/>
+ <xsl:include href="relative-href.xsl"/>
+ <xsl:include href="callout.xsl"/>
 
   <xsl:param name="admon.style"/>
   <xsl:param name="admon.graphics">1</xsl:param>

Modified: branches/release/tools/boostbook/xsl/source-highlight.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/source-highlight.xsl Mon Jul 15 13:24:24 2013 (r85046)
+++ branches/release/tools/boostbook/xsl/source-highlight.xsl 2013-07-15 17:24:43 EDT (Mon, 15 Jul 2013) (r85047)
@@ -29,7 +29,7 @@
   <xsl:variable name="digits" select="'1234567890'"/>
   <xsl:variable name="number-chars" select="'1234567890abcdefABCDEFxX.'"/>
   <xsl:variable name="keywords"
- select="' asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while '"/>
+ select="' alignas ailgnof asm auto bool break case catch char char16_t char32_t class const const_cast constexpr continue decltype default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new noexcept nullptr operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this thread_local throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while '"/>
   <xsl:variable name="operators4" select="'%:%:'"/>
   <xsl:variable name="operators3" select="'&gt;&gt;= &lt;&lt;= -&gt;* ...'"/>
   <xsl:variable name="operators2" select="'.* :: ## &lt;: :&gt; &lt;% %&gt; %: += -= *= /= %= ^= &amp;= |= &lt;&lt; &gt;&gt; == != &lt;= &gt;= &amp;&amp; || ++ -- -&gt;'"/>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk