goba Sat Feb 9 19:25:42 2002 EDT
Modified files:
/phpdoc/xsl htmlhelp-db.xsl.in
Log:
Adding support for hhk generation, all works well ;)
Index file will be _index.html from now on
Adding [MERGE FILES] and extra files to [FILES] list
Workaround for path problems, generate HTMLHelp files into $base.dir too,
but make links relative to $base.dir (actually use filenames only)
Change folder style in displayed TOC
For project files, this seems to be close what I would like to see
Index: phpdoc/xsl/htmlhelp-db.xsl.in
diff -u phpdoc/xsl/htmlhelp-db.xsl.in:1.2 phpdoc/xsl/htmlhelp-db.xsl.in:1.3
--- phpdoc/xsl/htmlhelp-db.xsl.in:1.2 Sat Feb 9 17:45:04 2002
+++ phpdoc/xsl/htmlhelp-db.xsl.in Sat Feb 9 19:25:42 2002
@@ -20,8 +20,11 @@
- all map and alias parts deleted, we do not need them
- deleted autoindex from [OPTIONS]
- added Index file to [OPTIONS] => new $htmlhelp.hhk param!
- - made indexfile and title variables => two places to use them
+ - the index file will always be _index.html
+ - made title a variable => two places to use it
- added phpdoc window definition
+ - added [MERGE FILES] section for manual notes file
+ - added more special files to [FILES]
- removed enumerate-images parts, we do not have any
images to enumerate for compatibility reasons with
other formats
@@ -31,6 +34,8 @@
- removed blocks for index terms, maps and aliases
- removed href.target.with.base.dir, as we have all the
files in the same dir
+ - added a HHK generator part (slightly modified version of
+ HHC generator)
-->
<xsl:import href="@DOCBOOKXSL_HTML@"/>
@@ -66,13 +71,19 @@
<xsl:call-template name="hhp"/>
<xsl:call-template name="hhc"/>
+ <xsl:call-template name="hhk"/>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template name="hhp">
+ <xsl:variable name="htmlhelp.hhp.with.base">
+ <xsl:value-of select="$base.dir"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="$htmlhelp.hhp"/>
+ </xsl:variable>
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.hhp"/>
+ <xsl:with-param name="filename" select="$htmlhelp.hhp.with.base"/>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhp-main"/>
@@ -89,24 +100,7 @@
Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text>
Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text>
Index file=</xsl:text><xsl:value-of select="$htmlhelp.hhk"/><xsl:text>
-Default topic=</xsl:text>
-<xsl:variable name="htmlhelp.indexfile">
- <xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="''"/>
- <xsl:with-param name="base.name">
- <xsl:choose>
- <xsl:when test="$rootid != ''">
- <xsl:apply-templates select="key('id',$rootid)" mode="chunk-filename"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/" mode="chunk-filename"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
-</xsl:variable>
-<xsl:value-of select="$htmlhelp.indexfile"/>
-<xsl:text>
+Default topic=_index.html
Default Window=phpdoc
Display compile progress=No
Full-text search=Yes
@@ -140,13 +134,17 @@
<xsl:value-of select="$htmlhelp.hhc"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$htmlhelp.hhk"/>
-<xsl:text>","</xsl:text>
-<xsl:value-of select="$htmlhelp.indexfile"/>
-<xsl:text>","</xsl:text>
-<xsl:value-of select="$htmlhelp.indexfile"/>
-<xsl:text>",,,,,0x23520,,0x386e,,,,,,,,0
+<xsl:text>","_index.html","_index.html",,,,,0x23520,,0x386e,,,,,,,,0
+
+[MERGE FILES]
+php_manual_notes.chm
[FILES]
+_index.html
+_redirect.html
+_style_lo.css
+_style_hi.css
+_script.js
</xsl:text>
<xsl:choose>
@@ -175,7 +173,7 @@
<xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
<xsl:if test="$ischunk='1'">
<xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="$base.dir"/>
+ <xsl:with-param name="base.dir" select="''"/>
<xsl:with-param name="base.name">
<xsl:apply-templates mode="chunk-filename" select="."/>
</xsl:with-param>
@@ -195,8 +193,13 @@
stuff instead. -->
<xsl:template name="hhc">
+ <xsl:variable name="htmlhelp.hhc.with.base">
+ <xsl:value-of select="$base.dir"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="$htmlhelp.hhc"/>
+ </xsl:variable>
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.hhc"/>
+ <xsl:with-param name="filename" select="$htmlhelp.hhc.with.base"/>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhc-main"/>
@@ -211,7 +214,7 @@
</HEAD>
<BODY>
<OBJECT type="text/site properties">
- <param name="ImageType" value="Folder">
+ <param name="Window Styles" value="0x800227">
</OBJECT>
<UL>
</xsl:text>
@@ -230,7 +233,7 @@
</HTML></xsl:text>
</xsl:template>
-<xsl:template match="set" mode="hhc">
+<xsl:template match="book" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
@@ -247,29 +250,8 @@
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
- <param name="Local" value="</xsl:text>
- <xsl:call-template name="href.target"/>
- <xsl:text>">
+ <param name="Local" value="_index.html">
</OBJECT></xsl:text>
- <xsl:if test="book">
- <xsl:text><UL></xsl:text>
- <xsl:apply-templates select="book" mode="hhc"/>
- <xsl:text></UL></xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="book" mode="hhc">
- <xsl:variable name="title">
- <xsl:if test="$htmlhelp.autolabel=1">
- <xsl:variable name="label.markup">
- <xsl:apply-templates select="." mode="label.markup"/>
- </xsl:variable>
- <xsl:if test="normalize-space($label.markup)">
- <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
- </xsl:if>
- </xsl:if>
- <xsl:apply-templates select="." mode="title.markup"/>
- </xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
@@ -480,5 +462,115 @@
<xsl:text>">
</OBJECT></xsl:text>
</xsl:template>
+
+<!-- ==================================================================== -->
+
+<!-- Similar code to HHC, but quite modified for HHK generation -->
+
+<!-- Following templates are not nice. It is because MS help compiler is unable
+ to process correct HTML files. We must generate following weird
+ stuff instead. -->
+
+<xsl:template name="hhk">
+ <xsl:variable name="htmlhelp.hhk.with.base">
+ <xsl:value-of select="$base.dir"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="$htmlhelp.hhk"/>
+ </xsl:variable>
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename" select="$htmlhelp.hhk.with.base"/>
+ <xsl:with-param name="method" select="'text'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="hhk-main"/>
+ </xsl:with-param>
+ <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="hhk-main">
+ <xsl:text><HTML>
+<HEAD>
+</HEAD>
+<BODY>
+<OBJECT type="text/site properties">
+ <param name="Window Styles" value="0x800227">
+</OBJECT>
+<UL>
+</xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="$rootid != ''">
+ <xsl:apply-templates select="key('id',$rootid)" mode="hhk"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="." mode="hhk"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text></UL>
+</BODY>
+</HTML></xsl:text>
+</xsl:template>
+
+<xsl:template match="book" mode="hhk">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="_index.html">
+ </OBJECT></xsl:text>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:apply-templates
+select="part|reference|preface|chapter|bibliography|appendix|article|colophon"
+ mode="hhk"/>
+</xsl:template>
+
+<xsl:template match="part|preface|chapter|appendix
+ |article
+ |reference|refentry
+ |sect1|sect2|sect3|sect4|sect5
+ |section
+ |book/glossary|article/glossary
+ |book/bibliography|article/bibliography
+ |book/glossary|article/glossary
+ |colophon"
+ mode="hhk">
+ <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
+ <xsl:if test="$ischunk='1'">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+ <xsl:variable name="filename">
+ <xsl:call-template name="make-relative-filename">
+ <xsl:with-param name="base.dir" select="''"/>
+ <xsl:with-param name="base.name">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:value-of select="$filename"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="*" mode="hhk"/>
+</xsl:template>
+
+<xsl:template match="text()" mode="hhk"/>
</xsl:stylesheet>