mirror of
https://github.com/zeux/pugixml.git
synced 2024-12-27 13:33:17 +08:00
docs: Added custom navigation bar, moved table of contents to separate section
git-svn-id: http://pugixml.googlecode.com/svn/trunk@585 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
3a68a170e0
commit
0b3a50f9e3
@ -105,7 +105,7 @@ for CONFIG in $(CONFIGURATIONS)
|
||||
}
|
||||
|
||||
# documentation
|
||||
Documentation docs/manual.html : docs/manual.qbk ;
|
||||
Documentation docs/manual.html : docs/manual.qbk : docs/manual.xsl ;
|
||||
|
||||
Alias docs : docs/manual.html ;
|
||||
|
||||
|
21
Jamrules.jam
21
Jamrules.jam
@ -486,9 +486,12 @@ actions QuickbookAction
|
||||
%QUICKBOOK_PATH%\bin\quickbook.exe --output-file $(<) --input-file $(>) >nul
|
||||
}
|
||||
|
||||
actions XSLTProcAction
|
||||
actions response XSLTProcAction
|
||||
{
|
||||
%QUICKBOOK_PATH%\bin\xsltproc.exe --path$(SPACE)$(XSLPATH:C) --stringparam$(SPACE)$(XSLPARAM) --output $(<) $(XSL) $(>)
|
||||
%QUICKBOOK_PATH%\bin\xsltproc.exe --path$(SPACE)$(XSLPATH:C) --stringparam$(SPACE)$(XSLPARAM) --output $(<) @(<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:import$(SPACE)href="file:///$(XSL:/)"$(SPACE)/>
|
||||
</xsl:stylesheet>) $(>)
|
||||
}
|
||||
|
||||
rule MakeFileDir TARGET
|
||||
@ -616,7 +619,13 @@ rule QuickbookImport SOURCE : IMPORT
|
||||
Includes $(SOURCE) : $(SOURCE:D)/$(IMPORT) ;
|
||||
}
|
||||
|
||||
rule Documentation TARGET : SOURCE
|
||||
rule FullPath FILE
|
||||
{
|
||||
local PWD = [ Subst [ Shell "cd" ] : "%c" : "" ] ;
|
||||
return "$(PWD)/$(FILE)" ;
|
||||
}
|
||||
|
||||
rule Documentation TARGET : SOURCE : STYLESHEET
|
||||
{
|
||||
# escape colon with %3A because colon is a path list separator
|
||||
local XSLDIR = [ Subst $(QUICKBOOK_PATH) : ":" : "%%%%3A" ] ;
|
||||
@ -635,7 +644,7 @@ rule Documentation TARGET : SOURCE
|
||||
# boostbook -> docbook
|
||||
local DOCBOOK = $(BUILD)/$(SOURCE:S=.db.xml) ;
|
||||
|
||||
XSL on $(DOCBOOK) = $(XSLDIR)/boostbook/xsl/docbook.xsl ;
|
||||
XSL on $(DOCBOOK) = $(QUICKBOOK_PATH)/boostbook/xsl/docbook.xsl ;
|
||||
XSLPATH on $(DOCBOOK) = $(XSLDIR)/boostbook/dtd $(XSLDIR)/docbook-xml ;
|
||||
XSLTProcAction $(DOCBOOK) : $(BOOSTBOOK) ;
|
||||
Depends $(DOCBOOK) : $(BOOSTBOOK) ;
|
||||
@ -643,7 +652,7 @@ rule Documentation TARGET : SOURCE
|
||||
# docbook -> html
|
||||
local HTML = $(TARGET) ;
|
||||
|
||||
XSL on $(HTML) = $(XSLDIR)/boostbook/xsl/html.xsl ;
|
||||
XSL on $(HTML) = $(QUICKBOOK_PATH)/boostbook/xsl/html.xsl [ FullPath $(STYLESHEET) ] ;
|
||||
XSLPATH on $(HTML) = $(XSLDIR)/docbook-xml $(XSLDIR)/docbook-xsl/html $(XSLDIR)/docbook-xsl/lib ;
|
||||
|
||||
XSLPARAM on $(HTML) =
|
||||
@ -657,5 +666,5 @@ rule Documentation TARGET : SOURCE
|
||||
;
|
||||
|
||||
XSLTProcAction $(HTML) : $(DOCBOOK) ;
|
||||
Depends $(HTML) : $(DOCBOOK) ;
|
||||
Depends $(HTML) : $(DOCBOOK) $(STYLESHEET) ;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
[article pugixml
|
||||
[book pugixml
|
||||
[quickbook 1.5]
|
||||
|
||||
[version 0.9]
|
||||
@ -23,7 +23,7 @@ pugixml enables very fast, convenient and memory-efficient XML document processi
|
||||
|
||||
This is the complete user manual for pugixml, which describes all features of the library in detail. If you want to start writing code as quickly as possible, you are advised to [@quickstart.html read the quick start guide first].
|
||||
|
||||
[note No documentation is perfect, neither is this one. If you encounter a description that is unclear, please file an issue as described in [sref manual.overview.feedback]. Also if you can spare the time for a full proof-reading, including spelling and grammar, that would be great! Please send me an e-mail; as a token of appreciation, your name will be put into the corresponding section of this documentation.]
|
||||
[note No documentation is perfect, neither is this one. If you encounter a description that is unclear, please file an issue as described in [sref manual.overview.feedback]. Also if you can spare the time for a full proof-reading, including spelling and grammar, that would be great! Please [link email send me an e-mail]; as a token of appreciation, your name will be included into the [link manual.overview.thanks corresponding section] of this documentation.]
|
||||
|
||||
[endsect] [/introduction]
|
||||
|
||||
@ -1996,3 +1996,10 @@ Functions:
|
||||
* [link set_memory_management_functions]
|
||||
|
||||
[endsect] [/apiref]
|
||||
|
||||
[section:toc Table of contents]
|
||||
|
||||
toc-placeholder
|
||||
|
||||
[endsect] [/toc]
|
||||
|
||||
|
95
docs/manual.xsl
Normal file
95
docs/manual.xsl
Normal file
@ -0,0 +1,95 @@
|
||||
<?xml version='1.0'?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:template name="navbar.section">
|
||||
<xsl:param name="name" select="/foo" />
|
||||
<xsl:param name="target" select="id($name)" />
|
||||
<xsl:param name="text" select="normalize-space($target/title)" />
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id != $name">
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="href.target">
|
||||
<xsl:with-param name="object" select="$target"/>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="$text" />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$text" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="navbar.contents">
|
||||
<xsl:value-of select="/*/title" /> user manual |
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.overview'" /></xsl:call-template> |
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.install'" /></xsl:call-template> |
|
||||
Document:
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.dom'" /><xsl:with-param name="text" select="'Object model'" /></xsl:call-template>
|
||||
<xsl:text disable-output-escaping="yes"> &middot; </xsl:text>
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.loading'" /><xsl:with-param name="text" select="'Loading'" /></xsl:call-template>
|
||||
<xsl:text disable-output-escaping="yes"> &middot; </xsl:text>
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.access'" /><xsl:with-param name="text" select="'Accessing'" /></xsl:call-template>
|
||||
<xsl:text disable-output-escaping="yes"> &middot; </xsl:text>
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.modify'" /><xsl:with-param name="text" select="'Modifying'" /></xsl:call-template>
|
||||
<xsl:text disable-output-escaping="yes"> &middot; </xsl:text>
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.saving'" /><xsl:with-param name="text" select="'Saving'" /></xsl:call-template> |
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.xpath'" /></xsl:call-template> |
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.apiref'" /></xsl:call-template> |
|
||||
<xsl:call-template name="navbar.section"><xsl:with-param name="name" select="'manual.toc'" /></xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="header.navigation">
|
||||
<xsl:param name="prev" select="/foo"/>
|
||||
<xsl:param name="next" select="/foo"/>
|
||||
<xsl:param name="nav.context"/>
|
||||
|
||||
<table width="100%"><tr>
|
||||
<td>
|
||||
<xsl:call-template name="navbar.contents" />
|
||||
</td>
|
||||
<td width="*" align="right">
|
||||
<xsl:call-template name="navbar.spirit">
|
||||
<xsl:with-param name="prev" select="$prev"/>
|
||||
<xsl:with-param name="next" select="$next"/>
|
||||
<xsl:with-param name="nav.context" select="$nav.context"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
|
||||
</tr></table>
|
||||
<hr/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="footer.navigation">
|
||||
<xsl:param name="prev" select="/foo"/>
|
||||
<xsl:param name="next" select="/foo"/>
|
||||
<xsl:param name="nav.context"/>
|
||||
|
||||
<hr/>
|
||||
<table width="100%"><tr>
|
||||
<td>
|
||||
<xsl:call-template name="navbar.contents" />
|
||||
</td>
|
||||
<td width="*" align="right">
|
||||
<xsl:call-template name="navbar.spirit">
|
||||
<xsl:with-param name="prev" select="$prev"/>
|
||||
<xsl:with-param name="next" select="$next"/>
|
||||
<xsl:with-param name="nav.context" select="$nav.context"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
|
||||
</tr></table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="section[@id='manual.toc']/para[normalize-space(text())='toc-placeholder']">
|
||||
<!-- trick to switch context node to root element -->
|
||||
<xsl:for-each select="/*">
|
||||
<xsl:call-template name="component.toc">
|
||||
<xsl:with-param name="toc.title.p" select="false()" />
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
Loading…
x
Reference in New Issue
Block a user