aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2004-05-07 20:18:37 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2004-05-07 20:18:37 +0000
commit11b36cd9669e9a440c66806a7c3d1e667c2754e6 (patch)
treeca5fc25dc75c4130f7202cecc0c38d5d8e262ca2
parentff979cdccd25179370cf593daf3605b47657f950 (diff)
Upgraded to lfs-xsl-0.9 (Manuel)
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/b5_1/BOOK@3518 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--INSTALL21
-rw-r--r--Makefile8
-rw-r--r--chapter01/changelog.xml2
-rw-r--r--goTidy17
-rw-r--r--stylesheets/lfs-chunked.xsl103
-rw-r--r--stylesheets/lfs-pdf.xsl129
-rw-r--r--stylesheets/lfs-print.xsl57
-rw-r--r--stylesheets/lfs-tex.xsl78
-rw-r--r--stylesheets/lfs.css63
-rw-r--r--stylesheets/patcheslist.xsl24
-rw-r--r--stylesheets/pdf/lfs-index.xsl165
-rw-r--r--stylesheets/pdf/lfs-pagesetup.xsl115
-rw-r--r--stylesheets/print/lfs-index.xsl127
-rw-r--r--stylesheets/print/lfs-pagesetup.xsl120
-rw-r--r--stylesheets/xhtml/lfs-admon.xsl47
-rw-r--r--stylesheets/xhtml/lfs-index.xsl21
-rw-r--r--stylesheets/xhtml/lfs-legalnotice.xsl76
-rw-r--r--stylesheets/xhtml/lfs-mixed.xsl39
-rw-r--r--stylesheets/xhtml/lfs-navigational.xsl156
-rw-r--r--stylesheets/xhtml/lfs-titles.xsl80
-rw-r--r--stylesheets/xhtml/lfs-toc.xsl142
-rw-r--r--tidy.conf17
22 files changed, 1271 insertions, 336 deletions
diff --git a/INSTALL b/INSTALL
index c284b3e49..6484a7b07 100644
--- a/INSTALL
+++ b/INSTALL
@@ -9,7 +9,7 @@ document. Instead, you need to read the LFS Editor's Manual. See the LFS
website at http://www.linuxfromscratch.org for more information.
-------------------------------------------------------------------------------
-If all you want to do is convert XML to HTML perform the following:
+If all you want to do is convert XML to HTML install the following:
* libxml2
- http://www.linuxfromscratch.org/blfs/view/cvs/general/libxml2.html
@@ -23,10 +23,21 @@ If all you want to do is convert XML to HTML perform the following:
* DocBook XSL Stylesheets
- http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-xsl.html
+* HTML Tidy - http://tidy.sourceforge.net/src/tidy_src.tgz
+
+ /bin/sh build/gnuauto/setup.sh &&
+ ./configure --prefix=/usr &&
+ make &&
+ su -c "make install"
+
-------------------------------------------------------------------------------
If you want to be able to convert the book into PDF as well, then you will need
the FOP package. This takes an XSL-FO file (created with libxslt which you
-already installed) and converts it to PDF:
+already installed) and converts it to PDF. Additionally you will need
+the Java Advanced Imaging (JAI) library from
+http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
+(you'll need either the JDK .bin or JRE .bin file dependent on your
+particular Java setup).
- http://www.apache.org/dist/xml/fop/fop-0.20.5-bin.tar.gz
@@ -36,4 +47,10 @@ already installed) and converts it to PDF:
tar -xzvf /usr/src/fop-0.20.5-bin.tar.gz &&
mv fop-0.20.5 fop
+ Install JAI by running:
+
+ chmod u+x /path/to/jai-1_1_2-lib-linux-i586-jdk.bin &&
+ cd $JAVA_HOME &&
+ /path/to/jai-1_1_2-lib-linux-i586-jdk.bin
+
Now set JAVA_HOME, FOP_HOME and PATH to values appropriate to your system.
diff --git a/Makefile b/Makefile
index 7fe98c4bb..e068b8c5e 100644
--- a/Makefile
+++ b/Makefile
@@ -19,11 +19,19 @@ lfs:
cd $(BASEDIR)/; sed -i -e "s@../images@images@g" \
index.html part1.html part2.html part3.html longindex.html
+ sh goTidy $(BASEDIR)/
+
pdf:
xsltproc --xinclude --nonet --output lfs.fo stylesheets/lfs-pdf.xsl \
index.xml
sed -i -e "s/inherit/all/" lfs.fo
fop.sh lfs.fo lfs.pdf
+print:
+ xsltproc --xinclude --nonet --output lfs-print.fo \
+ stylesheets/lfs-print.xsl index.xml
+ sed -i -e "s/inherit/all/" lfs-print.fo
+ fop.sh lfs-print.fo lfs-print.pdf
+
validate:
xmllint --noout --nonet --xinclude --postvalid index.xml
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 4278d79b7..48682e675 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -73,6 +73,8 @@ first a summary, then a detailed log.</para>
</itemizedlist>
</listitem>
+<listitem><para>May 7th, 2004 [matt]: Merged Manuel's lfs-xsl-0.9 patches</para>
+</listitem>
<listitem><para>May 7th, 2004 [matt]: Fixed README error regarding invocation of
`make`</para></listitem>
<listitem><para>May 3rd, 2004: LFS 5.1-pre2 released</para></listitem>
diff --git a/goTidy b/goTidy
new file mode 100644
index 000000000..e2f4eed02
--- /dev/null
+++ b/goTidy
@@ -0,0 +1,17 @@
+#!/bin/bash
+#######################################################################
+#
+# File: goTidy
+#
+# Description: Tidy is best used inside a loop, but Makefiles don't do
+# bash loops well. This file alleviates that problem.
+#
+# Author: James Robertson
+#
+########################################################################
+
+for file in `find "$1" -name "*.html"`; do
+ tidy -config tidy.conf $file
+done
+
+exit 0
diff --git a/stylesheets/lfs-chunked.xsl b/stylesheets/lfs-chunked.xsl
index e7f6c85df..8abaf3ddd 100644
--- a/stylesheets/lfs-chunked.xsl
+++ b/stylesheets/lfs-chunked.xsl
@@ -1,92 +1,33 @@
-<?xml version='1.0'?>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
+Based on the original lfs-chunked.xsl created by Matthew Burgess -->
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
- <!-- We use XHTML -->
+ <!-- We use XHTML -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/chunk.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
-
- <!-- The CSS Stylesheet -->
- <xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
-
- <!-- Include our customised templates -->
- <xsl:include href="xhtml/lfs-toc.xsl"/>
+
+ <!-- Including our others customized templates -->
+ <xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
+ <xsl:include href="xhtml/lfs-legalnotice.xsl"/>
+ <xsl:include href="xhtml/lfs-mixed.xsl"/>
+ <xsl:include href="xhtml/lfs-navigational.xsl"/>
+ <xsl:include href="xhtml/lfs-titles.xsl"/>
+ <xsl:include href="xhtml/lfs-toc.xsl"/>
- <!-- Use graphics in admonitions -->
- <xsl:param name="admon.graphics" select="1"/>
- <xsl:param name="admon.graphics.path">../images/</xsl:param>
- <xsl:param name="admon.graphics.extension" select="'.png'"/>
-
- <!-- Legal Notice stuff -->
- <xsl:param name="generate.legalnotice.link" select="1"/>
- <xsl:template match="legalnotice" mode="titlepage.mode">
- <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
- <xsl:choose>
- <xsl:when test="$generate.legalnotice.link != 0">
- <xsl:variable name="filename">
- <xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="''"/>
- <xsl:with-param name="base.name" select="concat($base.dir, 'prologue/legalnotice.html')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="title">
- <xsl:apply-templates select="." mode="title.markup"/>
- </xsl:variable>
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="'prologue/legalnotice.html'"/>
- </xsl:attribute>
- <xsl:copy-of select="$title"/>
- </xsl:element>
- <xsl:call-template name="write.chunk">
- <xsl:with-param name="filename" select="$filename"/>
- <xsl:with-param name="quiet" select="$chunk.quietly"/>
- <xsl:with-param name="content">
- <html>
- <head>
- <xsl:call-template name="system.head.content"/>
- <xsl:call-template name="head.content"/>
- <xsl:call-template name="user.head.content"/>
- </head>
- <body>
- <xsl:call-template name="body.attributes"/>
- <div class="{local-name(.)}">
- <xsl:apply-templates mode="titlepage.mode"/>
- </div>
- </body>
- </html>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <div class="{local-name(.)}">
- <xsl:apply-templates mode="titlepage.mode"/>
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
+ <!-- The CSS Stylesheet -->
+ <xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
- <!--TOC stuff-->
- <xsl:param name="generate.toc">
- appendix toc
- book toc,title,figure,table,example,equation
- chapter nop
- part toc
- preface nop
- qandadiv nop
- qandaset nop
- reference nop
- sect1 nop
- sect2 nop
- sect3 nop
- sect4 nop
- sect5 nop
- section nop
- set nop
- </xsl:param>
- <xsl:param name="toc.section.depth">1</xsl:param>
- <xsl:param name="toc.max.depth">3</xsl:param>
+ <!-- Dropping some unwanted style attributes -->
+ <xsl:param name="ulink.target" select="''"></xsl:param>
+ <xsl:param name="css.decoration" select="0"></xsl:param>
+
+ <!-- No XML declaration -->
+ <xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
</xsl:stylesheet>
diff --git a/stylesheets/lfs-pdf.xsl b/stylesheets/lfs-pdf.xsl
index 568f7f229..2a7e25790 100644
--- a/stylesheets/lfs-pdf.xsl
+++ b/stylesheets/lfs-pdf.xsl
@@ -1,127 +1,58 @@
-<?xml version='1.0'?>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
+Based on the original lfs-pdf.xsl created by Matthew Burgess -->
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
- xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- We use FO and FOP as the processor -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
+
+ <!-- Including our others customized templates -->
+ <xsl:include href="pdf/lfs-index.xsl"/>
+ <xsl:include href="pdf/lfs-pagesetup.xsl"/>
+
<!-- Probably want to make the paper size configurable -->
<xsl:param name="paper.type" select="'A4'"/>
- <!-- Include our customised templates -->
- <xsl:include href="pdf/lfs-index.xsl"/>
+ <!-- Don't hyphenate -->
+ <xsl:param name="hyphenate">false</xsl:param>
+ <xsl:param name="alignment">left</xsl:param>
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
- <!-- Margins -->
- <xsl:param name="page.margin.inner">1in</xsl:param>
- <xsl:param name="page.margin.outer">0.5in</xsl:param>
- <xsl:param name="title.margin.left">-1pc</xsl:param>
+ <!-- Graphics in admonitions -->
+ <xsl:param name="admon.graphics" select="1"/>
+ <xsl:param name="admon.graphics.path"
+ select="'/usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/'"/>
+
+ <!-- Shade screen -->
+ <xsl:param name="shade.verbatim" select="1"/>
- <!-- TOC stuff -->
+ <!-- TOC generation -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
- <xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
- <xsl:param name="toc.indent.width" select="18"></xsl:param>
-
- <!-- Force section1's onto a new page -->
- <xsl:attribute-set name="section.level1.properties">
- <xsl:attribute name="break-after">page</xsl:attribute>
- </xsl:attribute-set>
-
- <!-- Columns in appendix -->
- <xsl:param name="column.count.back" select="2"/>
-
- <!-- Don't hyphenate -->
- <xsl:param name="hyphenate">false</xsl:param>
- <xsl:param name="alignment">left</xsl:param>
+ <xsl:param name="generate.section.toc.level" select="-1"/>
+ <xsl:param name="toc.indent.width" select="18"/>
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
- <xsl:template match="xref" name="xref">
- <xsl:variable name="targets" select="key('id',@linkend)"/>
- <xsl:variable name="target" select="$targets[1]"/>
- <xsl:variable name="refelem" select="local-name($target)"/>
- <xsl:call-template name="check.id.unique">
- <xsl:with-param name="linkend" select="@linkend"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="$refelem=''">
- <xsl:message>
- <xsl:text>XRef to nonexistent id: </xsl:text>
- <xsl:value-of select="@linkend"/>
- </xsl:message>
- <xsl:text>???</xsl:text>
- </xsl:when>
- <xsl:when test="@endterm">
- <fo:basic-link internal-destination="{@linkend}"
- xsl:use-attribute-sets="xref.properties">
- <xsl:variable name="etargets" select="key('id',@endterm)"/>
- <xsl:variable name="etarget" select="$etargets[1]"/>
- <xsl:choose>
- <xsl:when test="count($etarget) = 0">
- <xsl:message>
- <xsl:value-of select="count($etargets)"/>
- <xsl:text>Endterm points to nonexistent ID: </xsl:text>
- <xsl:value-of select="@endterm"/>
- </xsl:message>
- <xsl:text>???</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="$etarget" mode="endterm"/>
- </xsl:otherwise>
- </xsl:choose>
- </fo:basic-link>
- </xsl:when>
- <xsl:when test="$target/@xreflabel">
- <fo:basic-link internal-destination="{@linkend}"
- xsl:use-attribute-sets="xref.properties">
- <xsl:call-template name="xref.xreflabel">
- <xsl:with-param name="target" select="$target"/>
- </xsl:call-template>
- </fo:basic-link>
- </xsl:when>
- <xsl:otherwise>
- <fo:basic-link internal-destination="{@linkend}"
- xsl:use-attribute-sets="xref.properties">
- <xsl:apply-templates select="$target" mode="xref-to">
- <xsl:with-param name="referrer" select="."/>
- <xsl:with-param name="xrefstyle">
- <xsl:choose>
- <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
- <xsl:value-of select="@role"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@xrefstyle"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:apply-templates>
- </fo:basic-link>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="not(starts-with(normalize-space(@xrefstyle), 'select:') != ''
- and (contains(@xrefstyle, 'page')
- or contains(@xrefstyle, 'Page')))
- and ( $insert.xref.page.number = 'yes'
- or $insert.xref.page.number = '1')
- or local-name($target) = 'para'">
- <fo:basic-link internal-destination="{@linkend}"
- xsl:use-attribute-sets="xref.properties">
- <xsl:text>, p. </xsl:text>
- <xsl:apply-templates select="$target" mode="page.citation">
- <xsl:with-param name="id" select="@linkend"/>
- </xsl:apply-templates>
- </fo:basic-link>
- </xsl:if>
+ <xsl:template match="*" mode="page.citation">
+ <xsl:param name="id" select="'???'"/>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text>[p.</xsl:text>
+ <fo:page-number-citation ref-id="{$id}"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
</xsl:template>
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
diff --git a/stylesheets/lfs-print.xsl b/stylesheets/lfs-print.xsl
new file mode 100644
index 000000000..8cca38786
--- /dev/null
+++ b/stylesheets/lfs-print.xsl
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
+Based on the original lfs-pdf.xsl created by Matthew Burgess -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!-- We use FO and FOP as the processor -->
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
+ <xsl:param name="fop.extensions" select="1"/>
+ <xsl:param name="draft.mode" select="'no'"/>
+
+ <!-- Including our others customized templates -->
+ <xsl:include href="print/lfs-index.xsl"/>
+ <xsl:include href="print/lfs-pagesetup.xsl"/>
+
+ <!-- Probably want to make the paper size configurable -->
+ <xsl:param name="paper.type" select="'A4'"/>
+
+ <!-- Printing Style -->
+ <xsl:param name="double.sided" select="1"/>
+ <xsl:param name="hyphenate">true</xsl:param>
+ <xsl:param name="alignment">justify</xsl:param>
+
+ <!-- Hyphenate links -->
+ <xsl:param name="ulink.hyphenate" select="' '"></xsl:param>
+
+ <!-- Font size -->
+ <xsl:param name="body.font.master">8</xsl:param>
+ <xsl:param name="body.font.size">10pt</xsl:param>
+
+ <!-- TOC stuff -->
+ <xsl:param name="generate.toc">
+ book toc
+ part nop
+ </xsl:param>
+ <xsl:param name="toc.section.depth">1</xsl:param>
+ <xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
+ <xsl:param name="toc.indent.width" select="18"></xsl:param>
+
+ <!-- Page number in Xref-->
+ <xsl:param name="insert.xref.page.number">yes</xsl:param>
+ <xsl:template match="*" mode="page.citation">
+ <xsl:param name="id" select="'???'"/>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text>[p</xsl:text>
+ <fo:page-number-citation ref-id="{$id}"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
+ </xsl:template>
+
+ <!-- Prevent duplicate e-mails in the Acknowledgments pages-->
+ <xsl:param name="ulink.show" select="0"/>
+
+</xsl:stylesheet>
diff --git a/stylesheets/lfs-tex.xsl b/stylesheets/lfs-tex.xsl
new file mode 100644
index 000000000..a312c5214
--- /dev/null
+++ b/stylesheets/lfs-tex.xsl
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Created by Larry Lawrence <larry@linuxfromscratch.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+version='1.0'>
+
+<xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/>
+<xsl:output method="text" encoding="ISO-8859-1" indent="yes"/>
+<xsl:variable name="latex.override">
+
+\documentclass[12pt]{book}
+
+\usepackage{lfs}
+\usepackage{fancyhdr}
+\usepackage{fancyvrb}
+\usepackage{makeidx}
+\usepackage{hyperref}
+\usepackage{fancybox}
+
+\oddsidemargin -0.5in
+\evensidemargin -0.625in
+\textwidth 7in
+\textheight 8.5in
+
+%\ifx\pdfoutput\undefined
+%\else
+%\pdfpagewidth=7in
+%\pdfpageheight=8.5in
+%\fi
+
+\pagestyle{fancy}
+\newenvironment{admonition}[2] {
+ \vspace{8mm}
+ \hspace{0mm}\newline
+ \noindent
+}
+
+
+\fancyhf{}
+\fancyhead[LE,RO]{\bfseries\thepage}
+\fancyhead[LO]{\bfseries\rightmark}
+\fancyhead[RE]{\bfseries\leftmark}
+\renewcommand{\headrulewidth}{0.5pt}
+\renewcommand{\footrulewidth}{0pt}
+\addtolength{\headheight}{3pt}
+\fancypagestyle{plain}{%
+ \fancyhead{}
+ \renewcommand{\headrulewidth}{0pt}
+}
+
+
+\hyphenation{change-log cpp-flags ctrlaltdel ma-cros chil-ton}
+
+<!-- adds \frontmatter to document -->
+
+</xsl:variable>
+
+<xsl:variable name="toc.section.depth">1</xsl:variable>
+
+<xsl:variable name="latex.book.begindocument">
+ <xsl:text>\begin{document}&#10;</xsl:text>
+ <xsl:text>\frontmatter&#10;</xsl:text>
+</xsl:variable>
+
+<!-- This put each section on a new page in the preface section -->
+
+<xsl:template match="preface/sect1">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:text>\newpage&#10;</xsl:text>
+ <xsl:text>\section*{</xsl:text><xsl:copy-of
+select="normalize-space(title)"/><xsl:text>}&#10;</xsl:text>
+ <xsl:apply-templates/>
+</xsl:template>
+
+
+
+</xsl:stylesheet>
diff --git a/stylesheets/lfs.css b/stylesheets/lfs.css
index cf2f43909..fe8af7ce8 100644
--- a/stylesheets/lfs.css
+++ b/stylesheets/lfs.css
@@ -1,24 +1,26 @@
body {
font-weight: normal;
- font-size: normal;
+ font-size: medium;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
text-align: left;
}
-div.navheader table {
- font-size: smaller;
+.toc ul, .index ul {
+ list-style: none;
}
-div.navfooter table {
- font-size: smaller;
+.navheader, .navfooter {
+ font-size: smaller;
+ text-align: center;
}
-div.navheader img {
- border: medium none;
+div.navheader ul li, div.navfooter ul li {
+ display: inline;
+ padding: 4em;
}
-div.navfooter img {
- border: medium none;
+li.preface {
+ margin-left: 2.5em;
}
div.book div.titlepage h1.title {
@@ -68,40 +70,19 @@ pre.synopsis {
background-color: #dddddd;
}
-div.warning {
- border: 1px solid;
-}
-
-div.note {
- border: 1px solid;
-}
-
-div.important {
- border: 1px solid;
-}
-
-div.caution {
- border: 1px solid;
-}
-
-div.warning h3.title {
- text-align: center
-}
-
-div.warning p {
- padding-left: 0.2in
-}
-
-div.note {
- padding-left: 0.2in
+div.admonition {
+ border: medium solid;
+ width: 90%;
+ margin: .5em auto;
}
-div.important {
- padding-left: 0.2in
+div.admonhead h3 {
+ display: inline;
+ margin-left: 1.5em;
}
-div.caution {
- padding-left: 0.2in
+div.admonbody {
+ margin: .5em;
}
.command {
@@ -118,7 +99,3 @@ div.caution {
width: 12.5em;
float: left;
}
-
-.toc ul, .index ul, .navheader ul, .navfooter ul {
- list-style: none;
-}
diff --git a/stylesheets/patcheslist.xsl b/stylesheets/patcheslist.xsl
new file mode 100644
index 000000000..50456bc10
--- /dev/null
+++ b/stylesheets/patcheslist.xsl
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9pre1 - Manuel Canales Esparcia <macana@lfs-es.org>
+Based on the original patcheslist.xsl posted by Matthew Burgess -->
+
+<!-- This also work again BLFS -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:output method="text"/>
+
+ <xsl:template match="//text()">
+ <xsl:text/>
+ </xsl:template>
+
+ <xsl:template match="//ulink">
+ <xsl:if test="contains(@url, '.patch')">
+ <xsl:value-of select="@url"/>
+ <xsl:text>&#x0a;</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/pdf/lfs-index.xsl b/stylesheets/pdf/lfs-index.xsl
index 43f306ee1..817fbf9d9 100644
--- a/stylesheets/pdf/lfs-index.xsl
+++ b/stylesheets/pdf/lfs-index.xsl
@@ -3,23 +3,22 @@
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
+<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
+<!ENTITY sep '" "'>
]>
-<!-- Version 0.8.0 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
-<!--Index Stuff-->
-
- <!--Only one column to fit the targets titles-->
- <xsl:param name="column.count.index" select="1"></xsl:param>
+ <!--Only one column to fit the table layout-->
+ <xsl:param name="column.count.index" select="1"/>
<!--Title-->
<xsl:template match="index" mode="title.markup">
- <xsl:param name="allow-anchors" select="0"/>
<xsl:text>Index of packages and important installed files</xsl:text>
</xsl:template>
@@ -38,47 +37,98 @@
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
- </xsl:when>
- <xsl:when test="$divtitle = 'B'">
- <xsl:text>Programs</xsl:text>
- </xsl:when>
- <xsl:when test="$divtitle = 'C'">
- <xsl:text>Libraries</xsl:text>
- </xsl:when>
- <xsl:when test="$divtitle = 'D'">
- <xsl:text>Scripts</xsl:text>
- </xsl:when>
- <xsl:when test="$divtitle = 'E'">
- <xsl:text>Others</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$divtitle"/>
- </xsl:otherwise>
- </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'B'">
+ <xsl:text>Programs</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'C'">
+ <xsl:text>Libraries</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'D'">
+ <xsl:text>Scripts</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'E'">
+ <xsl:text>Others</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$divtitle"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <fo:block>
- <xsl:apply-templates select="key('letter', $key)[&scope;]
- [count(.|key('primary', &primary;)[&scope;][1])=1]"
- mode="index-primary">
- <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
- <xsl:with-param name="scope" select="$scope"/>
- </xsl:apply-templates>
- </fo:block>
+ <fo:table table-layout="fixed" width="100%">
+ <fo:table-column column-number="1" column-width="11em"/>
+ <fo:table-column column-number="2" column-width="19em"/>
+ <fo:table-column column-number="3"/>
+ <fo:table-body>
+ <xsl:apply-templates select="key('letter', $key)[&scope;]
+ [count(.|key('primary', &primary;)[&scope;][1])=1]"
+ mode="index-primary">
+ <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
+ <xsl:with-param name="scope" select="$scope"/>
+ </xsl:apply-templates>
+ </fo:table-body>
+ </fo:table>
</fo:block>
</xsl:if>
</xsl:template>
- <!-- The separator -->
+ <!-- Dropping the separator from here -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
- <xsl:text>: </xsl:text>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
+
+ <!-- Changing the output tags and re-addind the separator-->
+ <xsl:template match="indexterm" mode="index-primary">
+ <xsl:param name="scope" select="."/>
+ <xsl:variable name="key" select="&primary;"/>
+ <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>
+ <xsl:value-of select="primary"/>
+ <xsl:text>: </xsl:text>
+ </fo:block>
+ </fo:table-cell>
+ <xsl:for-each select="$refs[not(see) and not(seealso)
+ and not(secondary)]">
+ <xsl:apply-templates select="." mode="reference">
+ <xsl:with-param name="scope" select="$scope"/>
+ </xsl:apply-templates>
+ </xsl:for-each>
+ </fo:table-row>
+ <xsl:if test="$refs/secondary">
+ <xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
+ concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" mode="index-secondary">
+ <xsl:with-param name="scope" select="$scope"/>
+ <xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="indexterm" mode="index-secondary">
+ <xsl:param name="scope" select="."/>
+ <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
+ <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block start-indent="1pc">
+ <xsl:value-of select="secondary"/>
+ <xsl:text>: </xsl:text>
+ </fo:block>
+ </fo:table-cell>
+ <xsl:for-each select="$refs[not(see) and not(seealso) and not(tertiary)]">
+ <xsl:apply-templates select="." mode="reference">
+ <xsl:with-param name="scope" select="$scope"/>
+ </xsl:apply-templates>
+ </xsl:for-each>
+ </fo:table-row>
+ </xsl:template>
<!-- Targets titles and bookmarks-->
<xsl:template name="reference">
@@ -100,19 +150,26 @@
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
- <fo:basic-link internal-destination="{$id}">
- <xsl:value-of select="$target/title"/>
- <xsl:apply-templates select="$target" mode="page.citation">
- <xsl:with-param name="id" select="$id"/>
- </xsl:apply-templates>
- </fo:basic-link>
- <xsl:text>, </xsl:text>
- <fo:basic-link internal-destination="{$id2}">
- <xsl:text>description</xsl:text>
- <xsl:apply-templates select="$target2" mode="page.citation">
- <xsl:with-param name="id" select="$id2"/>
- </xsl:apply-templates>
- </fo:basic-link>
+ <fo:table-cell>
+ <fo:block>
+ <fo:basic-link internal-destination="{$id}">
+ <xsl:value-of select="$target/title"/>
+ <xsl:apply-templates select="$target" mode="page.citation">
+ <xsl:with-param name="id" select="$id"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>
+ <fo:basic-link internal-destination="{$id2}">
+ <xsl:text>description</xsl:text>
+ <xsl:apply-templates select="$target2" mode="page.citation">
+ <xsl:with-param name="id" select="$id2"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ </fo:block>
+ </fo:table-cell>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
@@ -122,12 +179,16 @@
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
- <fo:basic-link internal-destination="{$id}">
- <xsl:value-of select="$target/title"/>
- <xsl:apply-templates select="$target" mode="page.citation">
- <xsl:with-param name="id" select="$id"/>
- </xsl:apply-templates>
- </fo:basic-link>
+ <fo:table-cell>
+ <fo:block>
+ <fo:basic-link internal-destination="{$id}">
+ <xsl:value-of select="$target/title"/>
+ <xsl:apply-templates select="$target" mode="page.citation">
+ <xsl:with-param name="id" select="$id"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ </fo:block>
+ </fo:table-cell>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
diff --git a/stylesheets/pdf/lfs-pagesetup.xsl b/stylesheets/pdf/lfs-pagesetup.xsl
new file mode 100644
index 000000000..97d1b9956
--- /dev/null
+++ b/stylesheets/pdf/lfs-pagesetup.xsl
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!-- Force section1's onto a new page -->
+ <xsl:attribute-set name="section.level1.properties">
+ <xsl:attribute name="break-after">
+ <xsl:choose>
+ <xsl:when test="not(position()=last())">
+ <xsl:text>page</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>auto</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Header -->
+ <xsl:attribute-set name="header.content.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$body.fontset"/>
+ </xsl:attribute>
+ <xsl:attribute name="text-align">right</xsl:attribute>
+ </xsl:attribute-set>
+
+ <xsl:template name="header.content">
+ <xsl:value-of select="/book/bookinfo/title"/>
+ <xsl:text> - </xsl:text>
+ <xsl:value-of select="/book/bookinfo/subtitle"/>
+ </xsl:template>
+
+ <xsl:template name="header.table">
+ <xsl:param name="gentext-key" select="''"/>
+ <xsl:choose>
+ <xsl:when test="$gentext-key = 'book'"/>
+ <xsl:otherwise>
+ <xsl:call-template name="header.content"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Centered titles for book and part -->
+ <xsl:template name="book.titlepage">
+ <fo:block space-before="2in">
+ <fo:block>
+ <xsl:call-template name="book.titlepage.before.recto"/>
+ <xsl:call-template name="book.titlepage.recto"/>
+ </fo:block>
+ <fo:block>
+ <xsl:call-template name="book.titlepage.before.verso"/>
+ <xsl:call-template name="book.titlepage.verso"/>
+ </fo:block>
+ <xsl:call-template name="book.titlepage.separator"/>
+ </fo:block>
+ </xsl:template>
+
+ <xsl:template name="part.titlepage">
+ <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:block space-before="2.5in">
+ <xsl:call-template name="part.titlepage.before.recto"/>
+ <xsl:call-template name="part.titlepage.recto"/>
+ </fo:block>
+ <fo:block>
+ <xsl:call-template name="part.titlepage.before.verso"/>
+ <xsl:call-template name="part.titlepage.verso"/>
+ </fo:block>
+ <xsl:call-template name="part.titlepage.separator"/>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Margins -->
+ <xsl:param name="page.margin.inner">0.75in</xsl:param>
+ <xsl:param name="page.margin.outer">0.75in</xsl:param>
+ <xsl:param name="title.margin.left">-1pc</xsl:param>
+ <xsl:attribute-set name="normal.para.spacing">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="list.item.spacing">
+ <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Others-->
+ <xsl:param name="header.rule" select="0"></xsl:param>
+ <xsl:param name="footer.rule" select="0"></xsl:param>
+ <xsl:param name="marker.section.level" select="-1"></xsl:param>
+
+ <!-- Dropping a blank page -->
+ <xsl:template name="book.titlepage.separator"/>
+
+</xsl:stylesheet>
diff --git a/stylesheets/print/lfs-index.xsl b/stylesheets/print/lfs-index.xsl
new file mode 100644
index 000000000..63a014a82
--- /dev/null
+++ b/stylesheets/print/lfs-index.xsl
@@ -0,0 +1,127 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
+<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
+]>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!--Title-->
+ <xsl:template match="index" mode="title.markup">
+ <xsl:param name="allow-anchors" select="0"/>
+ <xsl:text>Index of packages and important installed files</xsl:text>
+ </xsl:template>
+
+ <!-- Divisions-->
+ <xsl:template match="indexterm" mode="index-div">
+ <xsl:param name="scope" select="."/>
+ <xsl:variable name="key"
+ select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
+ <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
+ <xsl:if test="key('letter', $key)[&scope;]
+ [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
+ <fo:block>
+ <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
+ <xsl:call-template name="indexdiv.title">
+ <xsl:with-param name="titlecontent">
+ <xsl:choose>
+ <xsl:when test="$divtitle = 'A'">
+ <xsl:text>Packages</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'B'">
+ <xsl:text>Programs</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'C'">
+ <xsl:text>Libraries</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'D'">
+ <xsl:text>Scripts</xsl:text>
+ </xsl:when>
+ <xsl:when test="$divtitle = 'E'">
+ <xsl:text>Others</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$divtitle"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <fo:block>
+ <xsl:apply-templates select="key('letter', $key)[&scope;]
+ [count(.|key('primary', &primary;)[&scope;][1])=1]"
+ mode="index-primary">
+ <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
+ <xsl:with-param name="scope" select="$scope"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:block>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- The separator -->
+ <xsl:template match="indexterm" mode="reference">
+ <xsl:param name="scope" select="."/>
+ <xsl:text>: </xsl:text>
+ <xsl:call-template name="reference">
+ <xsl:with-param name="zones" select="normalize-space(@zone)"/>
+ <xsl:with-param name="scope" select="$scope"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--Bookmarks-->
+ <xsl:template name="reference">
+ <xsl:param name="scope" select="."/>
+ <xsl:param name="zones"/>
+ <xsl:choose>
+ <xsl:when test="contains($zones, ' ')">
+ <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
+ <xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
+ <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
+ <xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$target[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="id2">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$target2[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <fo:basic-link internal-destination="{$id}">
+ <xsl:apply-templates select="$target" mode="page.citation">
+ <xsl:with-param name="id" select="$id"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ <xsl:text> , </xsl:text>
+ <fo:basic-link internal-destination="{$id2}">
+ <xsl:apply-templates select="$target2" mode="page.citation">
+ <xsl:with-param name="id" select="$id2"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="zone" select="$zones"/>
+ <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$target[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <fo:basic-link internal-destination="{$id}">
+ <xsl:apply-templates select="$target" mode="page.citation">
+ <xsl:with-param name="id" select="$id"/>
+ </xsl:apply-templates>
+ </fo:basic-link>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/print/lfs-pagesetup.xsl b/stylesheets/print/lfs-pagesetup.xsl
new file mode 100644
index 000000000..44e91acc2
--- /dev/null
+++ b/stylesheets/print/lfs-pagesetup.xsl
@@ -0,0 +1,120 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!-- Force section1's onto a new page -->
+ <xsl:attribute-set name="section.level1.properties">
+ <xsl:attribute name="break-after">
+ <xsl:choose>
+ <xsl:when test="not(position()=last())">
+ <xsl:text>page</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>auto</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Header -->
+ <xsl:template name="header.content">
+ <xsl:param name="sequence" select="''"/>
+ <fo:block>
+ <xsl:attribute name="text-align">
+ <xsl:choose>
+ <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
+ <xsl:otherwise>left</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:value-of select="/book/bookinfo/title"/>
+ <xsl:text> - </xsl:text>
+ <xsl:value-of select="/book/bookinfo/subtitle"/>
+ </fo:block>
+ </xsl:template>
+
+ <xsl:template name="header.table">
+ <xsl:param name="sequence" select="''"/>
+ <xsl:param name="gentext-key" select="''"/>
+ <xsl:choose>
+ <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
+ <xsl:otherwise>
+ <xsl:call-template name="header.content">
+ <xsl:with-param name="sequence" select="$sequence"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Centered titles for book and part -->
+ <xsl:template name="book.titlepage">
+ <fo:block space-before="2in">
+ <fo:block>
+ <xsl:call-template name="book.titlepage.before.recto"/>
+ <xsl:call-template name="book.titlepage.recto"/>
+ </fo:block>
+ <fo:block>
+ <xsl:call-template name="book.titlepage.before.verso"/>
+ <xsl:call-template name="book.titlepage.verso"/>
+ </fo:block>
+ <xsl:call-template name="book.titlepage.separator"/>
+ </fo:block>
+ </xsl:template>
+
+ <xsl:template name="part.titlepage">
+ <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:block space-before="2.5in">
+ <xsl:call-template name="part.titlepage.before.recto"/>
+ <xsl:call-template name="part.titlepage.recto"/>
+ </fo:block>
+ <fo:block>
+ <xsl:call-template name="part.titlepage.before.verso"/>
+ <xsl:call-template name="part.titlepage.verso"/>
+ </fo:block>
+ <xsl:call-template name="part.titlepage.separator"/>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Margins -->
+ <xsl:param name="page.margin.inner">1in</xsl:param>
+ <xsl:param name="page.margin.outer">0.5in</xsl:param>
+ <xsl:param name="title.margin.left">-1pc</xsl:param>
+ <xsl:attribute-set name="normal.para.spacing">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="list.item.spacing">
+ <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Others-->
+ <xsl:param name="header.rule" select="0"></xsl:param>
+ <xsl:param name="footer.rule" select="0"></xsl:param>
+ <xsl:param name="marker.section.level" select="-1"></xsl:param>
+
+ <!-- Dropping a blank page -->
+ <xsl:template name="book.titlepage.separator"/>
+
+</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-admon.xsl b/stylesheets/xhtml/lfs-admon.xsl
new file mode 100644
index 000000000..7cf0520f0
--- /dev/null
+++ b/stylesheets/xhtml/lfs-admon.xsl
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <!-- Use graphics in admonitions -->
+ <xsl:param name="admon.graphics" select="1"/>
+ <xsl:param name="admon.graphics.path">../images/</xsl:param>
+ <xsl:param name="admon.graphics.extension" select="'.png'"/>
+
+ <!-- Changing the output tagging -->
+ <xsl:template name="graphical.admonition">
+ <xsl:variable name="admon.type">
+ <xsl:choose>
+ <xsl:when test="local-name(.)='note'">Note</xsl:when>
+ <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
+ <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
+ <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
+ <xsl:when test="local-name(.)='important'">Important</xsl:when>
+ <xsl:otherwise>Note</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <div class="admonition">
+ <div class ="admonhead">
+ <img alt="[{$admon.type}]">
+ <xsl:attribute name="src">
+ <xsl:call-template name="admon.graphic"/>
+ </xsl:attribute>
+ </img>
+ <h3 class="{name(.)}">
+ <xsl:value-of select="$admon.type"/>
+ <xsl:if test="title">
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="title"/>
+ </xsl:if>
+ </h3>
+ </div>
+ <div class="admonbody">
+ <xsl:apply-templates/>
+ </div>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-index.xsl b/stylesheets/xhtml/lfs-index.xsl
index 2405e5586..825378702 100644
--- a/stylesheets/xhtml/lfs-index.xsl
+++ b/stylesheets/xhtml/lfs-index.xsl
@@ -6,24 +6,31 @@
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
-<!-- Version 0.8.0 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
- <!--Index Stuff-->
-
<!--Filename-->
<xsl:template match="index" mode="recursive-chunk-filename">
<xsl:text>longindex.html</xsl:text>
</xsl:template>
<!--Title-->
+ <xsl:param name="index-title">Index of packages and important installed files</xsl:param>
+
<xsl:template match="index" mode="title.markup">
- <xsl:param name="allow-anchors" select="0"/>
- <xsl:text>Index of packages and important installed files</xsl:text>
+ <xsl:value-of select="$index-title"/>
</xsl:template>
+
+ <xsl:template name="index.titlepage">
+ <div class="titlepage">
+ <h1 class="index">
+ <xsl:value-of select="$index-title"/>
+ </h1>
+ </div>
+ </xsl:template>
<!--Divisions-->
<xsl:template match="indexterm" mode="index-div">
@@ -109,6 +116,7 @@
</xsl:if>
</li>
</xsl:template>
+
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &#34; &#34;,
@@ -173,5 +181,8 @@
</xsl:otherwise>
</xsl:choose>
</xsl:template>
+
+ <!-- Dropping unneeded anchors -->
+ <xsl:template match="indexterm"/>
</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-legalnotice.xsl b/stylesheets/xhtml/lfs-legalnotice.xsl
new file mode 100644
index 000000000..4b43a9f19
--- /dev/null
+++ b/stylesheets/xhtml/lfs-legalnotice.xsl
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <!-- Generating the page -->
+ <xsl:template match="legalnotice" mode="titlepage.mode">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <xsl:variable name="filename" select="concat($base.dir, 'prologue/legalnotice.html')"/>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="$filename"/>
+ <xsl:with-param name="quiet" select="$chunk.quietly"/>
+ <xsl:with-param name="content">
+ <html>
+ <head>
+ <xsl:call-template name="system.head.content"/>
+ <xsl:call-template name="head.content"/>
+ <xsl:call-template name="user.head.content"/>
+ </head>
+ <body>
+ <xsl:call-template name="body.attributes"/>
+ <div class="{local-name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+ <hr/>
+ <div class="navfooter">
+ <ul class="footerlinks">
+ <li>
+ <a accesskey="h">
+ <xsl:attribute name="href">
+ <xsl:text>../index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>Home</xsl:text>
+ </a>
+ </li>
+ </ul>
+ </div>
+ </body>
+ </html>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Making the link-->
+ <xsl:template match="copyright" mode="titlepage.mode">
+ <p class="{name(.)}">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="'prologue/legalnotice.html'"/>
+ </xsl:attribute>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'Copyright'"/>
+ </xsl:call-template>
+ </a>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">copyright</xsl:with-param>
+ </xsl:call-template>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="copyright.years">
+ <xsl:with-param name="years" select="year"/>
+ <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
+ <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
+ </xsl:call-template>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="holder" mode="titlepage.mode"/>
+ </p>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-mixed.xsl b/stylesheets/xhtml/lfs-mixed.xsl
new file mode 100644
index 000000000..08dc2262f
--- /dev/null
+++ b/stylesheets/xhtml/lfs-mixed.xsl
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <xsl:template match="screen">
+ <xsl:choose>
+ <!-- Temporally hack -->
+ <xsl:when test="child::* = userinput">
+ <pre class="{name(.)}">
+ <kbd class="command">
+ <xsl:value-of select="."/>
+ </kbd>
+ </pre>
+ </xsl:when>
+ <!-- This should be fixed in the XML code -->
+ <!--
+ <xsl:when test="contains(text() , 'SBU')">
+ <p class="sbu">
+ <tt>
+ <xsl:value-of select="substring-before(text() , 'R')"/>
+ <br/>
+ <xsl:value-of select="substring-after(text() , 'U')"/>
+ </tt>
+ </p>
+ </xsl:when>
+ -->
+ <xsl:otherwise>
+ <pre class="{name(.)}">
+ <xsl:apply-templates/>
+ </pre>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-navigational.xsl b/stylesheets/xhtml/lfs-navigational.xsl
new file mode 100644
index 000000000..07cb0791e
--- /dev/null
+++ b/stylesheets/xhtml/lfs-navigational.xsl
@@ -0,0 +1,156 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <!-- Dropping the HEAD links -->
+ <xsl:template name="html.head">
+ <head>
+ <xsl:call-template name="system.head.content"/>
+ <xsl:call-template name="head.content"/>
+ <xsl:call-template name="user.head.content"/>
+ </head>
+ </xsl:template>
+
+ <!-- Header Navigation-->
+ <xsl:template name="header.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:param name="nav.context"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+ <xsl:variable name="row" select="count($prev) &gt; 0 or (count($up) &gt; 0
+ and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
+ <xsl:if test="$row and $home != .">
+ <div class="navheader">
+ <xsl:if test="$home != .">
+ <div class="headertitles">
+ <p>
+ <xsl:apply-templates select="$home" mode="object.title.markup"/>
+ <xsl:text> - </xsl:text>
+ <xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
+ </p>
+ <xsl:if test="$up != $home">
+ <p><b>
+ <xsl:apply-templates select="$up" mode="object.title.markup"/>
+ </b></p>
+ </xsl:if>
+ </div>
+ </xsl:if>
+ <ul class="headerlinks">
+ <xsl:if test="count($prev)&gt;0 and $prev != $home">
+ <li>
+ <a accesskey="p">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$prev"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Prev</xsl:text>
+ </a>
+ </li>
+ </xsl:if>
+ <li>
+ <a accesskey="h">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$home"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Home</xsl:text>
+ </a>
+ </li>
+ <xsl:if test="count($next)&gt;0">
+ <li>
+ <a accesskey="n">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$next"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Next</xsl:text>
+ </a>
+ </li>
+ </xsl:if>
+ </ul>
+ </div>
+ <hr/>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Footer Navigation-->
+ <xsl:template name="footer.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:param name="nav.context"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+ <xsl:variable name="row" select="count($prev) &gt; 0 or count($up) &gt; 0
+ or count($next) &gt; 0 or generate-id($home) != generate-id(.)"/>
+ <xsl:if test="$row">
+ <hr/>
+ <div class="navfooter">
+ <ul>
+ <xsl:if test="count($prev)&gt;0 and $prev != $home">
+ <li>
+ <a accesskey="p">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$prev"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Prev</xsl:text>
+ </a>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$prev" mode="object.title.markup"/>
+ </li>
+ </xsl:if>
+ <xsl:if test="count($up)&gt;0 and $up != $home">
+ <li>
+ <a accesskey="u">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$up"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Up</xsl:text>
+ </a>
+ </li>
+ </xsl:if>
+ <xsl:if test="$home != .">
+ <li>
+ <a accesskey="h">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$home"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Home</xsl:text>
+ </a>
+ </li>
+ </xsl:if>
+ <xsl:if test="count($next)&gt;0">
+ <li>
+ <a accesskey="n">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$next"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:text>Next</xsl:text>
+ </a>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$next" mode="object.title.markup"/>
+ </li>
+ </xsl:if>
+ </ul>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
+
+
diff --git a/stylesheets/xhtml/lfs-titles.xsl b/stylesheets/xhtml/lfs-titles.xsl
new file mode 100644
index 000000000..ec6c68cfe
--- /dev/null
+++ b/stylesheets/xhtml/lfs-titles.xsl
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Version 0.9- Manuel Canales Esparcia <macana@lfs-es.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <xsl:template name="part.titlepage">
+ <div class="titlepage">
+ <h1 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h1>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="chapter.titlepage">
+ <div class="titlepage">
+ <h1 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h1>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="preface.titlepage">
+ <div class="titlepage">
+ <h1 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h1>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="sect1.titlepage">
+ <xsl:choose>
+ <!-- I should find a better test -->
+ <xsl:when test="position() = 4">
+ <div class="titlepage">
+ <xsl:if test="@id">
+ <a id="{@id}" name="{@id}"/>
+ </xsl:if>
+ <h2 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h2>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="titlepage">
+ <h1 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h1>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="sect2.titlepage">
+ <xsl:choose>
+ <xsl:when test="string-length(title) = 0"/>
+ <xsl:otherwise>
+ <div class="titlepage">
+ <xsl:if test="@id">
+ <a id="{@id}" name="{@id}"/>
+ </xsl:if>
+ <h3 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h3>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="dedication.titlepage">
+ <div class="titlepage">
+ <h2 class="{name(.)}">
+ <xsl:value-of select="title"/>
+ </h2>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/stylesheets/xhtml/lfs-toc.xsl b/stylesheets/xhtml/lfs-toc.xsl
index ff064fd31..56c14820c 100644
--- a/stylesheets/xhtml/lfs-toc.xsl
+++ b/stylesheets/xhtml/lfs-toc.xsl
@@ -1,13 +1,12 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
-<!-- Version 0.8.0 - Manuel Canales Esparcia <macana@lfs-es.org> -->
+<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
-
-
-<!--TOC stuff-->
+
+ <!-- General settings -->
<xsl:param name="generate.toc">
appendix toc
book toc,title,figure,table,example,equation
@@ -29,9 +28,56 @@
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="toc.max.depth">3</xsl:param>
-
- <!-- Type of list-->
- <xsl:param name="toc.list.type">ul</xsl:param>
+
+ <!-- Making the TOC -->
+ <xsl:template name="make.toc">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
+ <xsl:if test="$nodes">
+ <div class="toc">
+ <h3>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </h3>
+ <ul>
+ <xsl:apply-templates select="$nodes" mode="toc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:apply-templates>
+ </ul>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Making the subtocs -->
+ <xsl:template name="subtoc">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
+ <xsl:variable name="subtoc">
+ <ul>
+ <xsl:apply-templates mode="toc" select="$nodes">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:apply-templates>
+ </ul>
+ </xsl:variable>
+ <xsl:variable name="depth">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="depth.from.context"
+ select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
+ <li class="{name(.)}">
+ <xsl:call-template name="toc.line">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:call-template>
+ <xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
+ and $toc.max.depth &gt; $depth.from.context">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:if>
+ </li>
+ </xsl:template>
<!--Adding the h* tags and dropping redundats links-->
<xsl:template name="toc.line">
@@ -40,37 +86,47 @@
<xsl:param name="depth.from.context" select="8"/>
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">
- <span>
- <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
- <a>
- <xsl:attribute name="href">
- <xsl:call-template name="href.target">
- <xsl:with-param name="context" select="$toc-context"/>
- </xsl:call-template>
- </xsl:attribute>
- <xsl:apply-templates select="." mode="titleabbrev.markup"/>
- </a>
- </span>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="context" select="$toc-context"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+ </a>
</xsl:when>
<xsl:when test="local-name(.) = 'chapter' or local-name(.) = 'preface'">
<h4>
- <span>
- <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
- <xsl:variable name="label">
- <xsl:apply-templates select="." mode="label.markup"/>
- </xsl:variable>
- <xsl:copy-of select="$label"/>
- <xsl:if test="$label != ''">
- <xsl:value-of select="$autotoc.label.separator"/>
- </xsl:if>
- <xsl:apply-templates select="." mode="titleabbrev.markup"/>
- </span>
+ <xsl:variable name="label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </xsl:variable>
+ <xsl:copy-of select="$label"/>
+ <xsl:if test="$label != ''">
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="titleabbrev.markup"/>
</h4>
</xsl:when>
<xsl:when test="local-name(.) = 'part'">
<h3>
- <span>
- <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
+ <xsl:variable name="label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </xsl:variable>
+ <xsl:copy-of select="$label"/>
+ <xsl:if test="$label != ''">
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+ </h3>
+ </xsl:when>
+ <xsl:otherwise>
+ <h3>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="context" select="$toc-context"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
@@ -79,29 +135,7 @@
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
- </span>
- </h3>
- </xsl:when>
- <xsl:otherwise>
- <h3>
- <span>
- <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
- <a>
- <xsl:attribute name="href">
- <xsl:call-template name="href.target">
- <xsl:with-param name="context" select="$toc-context"/>
- </xsl:call-template>
- </xsl:attribute>
- <xsl:variable name="label">
- <xsl:apply-templates select="." mode="label.markup"/>
- </xsl:variable>
- <xsl:copy-of select="$label"/>
- <xsl:if test="$label != ''">
- <xsl:value-of select="$autotoc.label.separator"/>
- </xsl:if>
- <xsl:apply-templates select="." mode="titleabbrev.markup"/>
- </a>
- </span>
+ </a>
</h3>
</xsl:otherwise>
</xsl:choose>
diff --git a/tidy.conf b/tidy.conf
new file mode 100644
index 000000000..b15a0a17b
--- /dev/null
+++ b/tidy.conf
@@ -0,0 +1,17 @@
+indent-spaces: 2
+wrap: 78
+tab-size: 8
+input-encoding: latin1
+output-encoding: latin1
+newline: CRLF
+write-back: yes
+markup: yes
+indent: yes
+hide-endtags: no
+uppercase-tags: no
+logical-emphasis: no
+drop-font-tags: no
+tidy-mark: no
+numeric-entities: no
+show-warnings: no
+quiet: yes