diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-05-08 14:19:53 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-05-08 14:19:53 +0000 |
commit | ded6dddb89cade026e592cd386790b5b10e6fe00 (patch) | |
tree | 3e628a075a59b9ee298376729b44a4151d039c59 | |
parent | e4bf4c7e72fabd039b21b78313d43ce2138c1e7d (diff) |
Updated the stylesheets to their current version.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3529 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r-- | goTidy | 17 | ||||
-rw-r--r-- | stylesheets/lfs-chunked.xsl | 103 | ||||
-rw-r--r-- | stylesheets/lfs-pdf.xsl | 129 | ||||
-rw-r--r-- | stylesheets/lfs-print.xsl | 57 | ||||
-rw-r--r-- | stylesheets/lfs-tex.xsl | 78 | ||||
-rw-r--r-- | stylesheets/lfs.css | 90 | ||||
-rw-r--r-- | stylesheets/patcheslist.xsl | 24 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-index.xsl | 165 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-pagesetup.xsl | 115 | ||||
-rw-r--r-- | stylesheets/print/lfs-index.xsl | 127 | ||||
-rw-r--r-- | stylesheets/print/lfs-pagesetup.xsl | 120 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-admon.xsl | 47 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-index.xsl | 21 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-legalnotice.xsl | 76 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-mixed.xsl | 39 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-navigational.xsl | 150 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-titles.xsl | 80 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-toc.xsl | 142 | ||||
-rw-r--r-- | tidy.conf | 17 |
19 files changed, 1263 insertions, 334 deletions
@@ -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} </xsl:text> + <xsl:text>\frontmatter </xsl:text> +</xsl:variable> + +<!-- This put each section on a new page in the preface section --> + +<xsl:template match="preface/sect1"> + <xsl:text> </xsl:text> + <xsl:text>\newpage </xsl:text> + <xsl:text>\section*{</xsl:text><xsl:copy-of +select="normalize-space(title)"/><xsl:text>} </xsl:text> + <xsl:apply-templates/> +</xsl:template> + + + +</xsl:stylesheet> diff --git a/stylesheets/lfs.css b/stylesheets/lfs.css index cf2f43909..c7cc75d32 100644 --- a/stylesheets/lfs.css +++ b/stylesheets/lfs.css @@ -1,24 +1,53 @@ 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; +} + +.navheader, .navfooter { + font-size: smaller; + text-align: center; +} + +.headerlinks { + border-bottom : solid 2px green; + padding-bottom: 0.5em; +} + +.navfooter { + border-top : solid 2px green; + padding-top: 0.5em; + margin-top: 0.5em; +} + +.prev { + float : left; + text-align: left; + /* border : solid 1px #ddd; */ + padding-left: 2em; } -div.navfooter table { - font-size: smaller; +.next { + float : right; + text-align: right; + /* border : solid 1px #0dd; */ + padding-right: 2em; } -div.navheader img { - border: medium none; +.up { + /* border : solid 1px #ff0; */ + width : 10em; + /* background-color: #bbb; */ + margin: 0px auto; } -div.navfooter img { - border: medium none; +li.preface { + margin-left: 2.5em; } div.book div.titlepage h1.title { @@ -68,40 +97,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 +126,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>
</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;, " ", @@ -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..766f2a9ef --- /dev/null +++ b/stylesheets/xhtml/lfs-navigational.xsl @@ -0,0 +1,150 @@ +<?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) > 0 or (count($up) > 0 + and generate-id($up) != generate-id($home)) or count($next) > 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> + <div class="headerlinks"> + <xsl:if test="count($prev)>0 and $prev != $home"> + <div class='prev'> + <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> + </div> + </xsl:if> + <xsl:if test="count($next)>0"> + <div class='next'> + <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> + </div> + </xsl:if> + <div class='home'> + <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> + </div> + </div> + </div> + </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) > 0 or count($up) > 0 + or count($next) > 0 or generate-id($home) != generate-id(.)"/> + <xsl:if test="$row"> + <div class="navfooter"> + <xsl:if test="count($prev)>0 and $prev != $home"> + <div class='prev'> + <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><br/> + <xsl:text> </xsl:text> + <xsl:apply-templates select="$prev" mode="object.title.markup"/> + </div> + </xsl:if> + <xsl:if test="count($next)>0"> + <div class='next'> + <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><br/> + <xsl:text> </xsl:text> + <xsl:apply-templates select="$next" mode="object.title.markup"/> + </div> + </xsl:if> + <xsl:if test="count($up)>0 and $up != $home"> + <div class='up'> + <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> + <xsl:if test="$home != ."> + <div class='home'> + <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> + </div> + </xsl:if> + </div> + </xsl:if> + </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 > $depth and count($nodes)>0 + and $toc.max.depth > $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 |