This commit was manufactured by cvs2svn to create tag 'v5_1'.

git-svn-id: http://svn.linuxfromscratch.org/LFS/tags/v5_1/BOOK@3611 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
lfs-dev 2004-06-22 19:48:18 +00:00
parent 673b0d84ba
commit a4a675ff2a
46 changed files with 1820 additions and 371 deletions

21
INSTALL
View File

@ -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.

View File

@ -1,29 +1,42 @@
BASEDIR=~/lfs-book/
BASEDIR=~/lfs-book
lfs:
xsltproc --xinclude --nonet -stringparam base.dir $(BASEDIR) \
xsltproc --xinclude --nonet -stringparam base.dir $(BASEDIR)/ \
stylesheets/lfs-chunked.xsl index.xml
if [ ! -e $(BASEDIR)stylesheets ]; then \
mkdir -p $(BASEDIR)stylesheets; \
if [ ! -e $(BASEDIR)/stylesheets ]; then \
mkdir -p $(BASEDIR)/stylesheets; \
fi;
cp stylesheets/lfs.css $(BASEDIR)stylesheets
cp stylesheets/lfs.css $(BASEDIR)/stylesheets
if [ ! -e $(BASEDIR)images ]; then \
mkdir -p $(BASEDIR)images; \
if [ ! -e $(BASEDIR)/images ]; then \
mkdir -p $(BASEDIR)/images; \
fi;
cp /usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/*.png \
$(BASEDIR)images
cd $(BASEDIR); sed -i -e "s@../stylesheets@stylesheets@" \
$(BASEDIR)/images
cd $(BASEDIR)/; sed -i -e "s@../stylesheets@stylesheets@" \
index.html part1.html part2.html part3.html longindex.html
cd $(BASEDIR); sed -i -e "s@../images@images@g" \
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
nochunks:
xsltproc --xinclude --nonet --output lfs.html \
stylesheets/lfs-nochunks.xsl index.xml
tidy -config tidy.conf lfs.html || true
validate:
xmllint --noout --nonet --xinclude --postvalid index.xml

2
README
View File

@ -10,7 +10,7 @@ various other formats.
XML to XHTML:
-------------
BASEDIR=/path/to/output/location make
make BASEDIR=/path/to/output/location
XML to PDF:

View File

@ -23,11 +23,12 @@ consult the FAQ (Frequently Asked Questions) at
<title>IRC</title>
<para>Several members of the LFS community offer assistance on our community
IRC (Internet Relay Chat) server. Before you utilize this mode of support, we
IRC (Internet Relay Chat) network. Before you utilize this mode of support, we
ask that you've at least checked the LFS FAQ (see above) and the mailing list
archives (see below) for the answer to your question. You can find the IRC
server at <emphasis>irc.linuxfromscratch.org</emphasis> port 6667. The
support channel is named #LFS-support.</para>
network at <emphasis>irc.linuxfromscratch.org</emphasis> or
<emphasis>irc.linux-phreak.net</emphasis> port 6667. The support channel is
named #LFS-support.</para>
</sect2>

View File

@ -27,10 +27,11 @@ first a summary, then a detailed log.</para>
<listitem><para>file-4.09</para></listitem>
<listitem><para>gcc-3.3.3</para></listitem>
<listitem><para>gettext-0.14.1</para></listitem>
<listitem><para>glibc-2.3.3-lfs-5.1</para></listitem>
<listitem><para>grub-0.94</para></listitem>
<listitem><para>kbd-1.12</para></listitem>
<listitem><para>less-382</para></listitem>
<listitem><para>lfs-bootscripts-2.0.4</para></listitem>
<listitem><para>lfs-bootscripts-2.0.5</para></listitem>
<listitem><para>libtool-2.5.6</para></listitem>
<listitem><para>linux-2.4.26</para></listitem>
<listitem><para>man-pages-1.66</para></listitem>
@ -73,6 +74,31 @@ first a summary, then a detailed log.</para>
</itemizedlist>
</listitem>
<listitem><para>May 16th, 2004 [jeremy]: Chapter 9 - Added a brief paragraph
to the rebooting system page to discuss packages which might be useful to
add prior to rebooting to the new system</para></listitem>
<listitem><para>May 15th, 2004 [matt]: Chapter 6 - Added a clearer warning that
make_devices needs to be customised</para></listitem>
<listitem><para>May 14th, 2004 [matt]: Chapter 3 - Added glibc's md5sum</para>
</listitem>
<listitem><para>May 14th, 2004 [matt]: Chapters 5 &amp; 6 - Upgraded to
glibc-2.3.3-lfs-5.1</para></listitem>
<listitem><para>May 11th, 2004 [jeremy]: Prologue - Updated the list of
active staff in the project.</para></listitem>
<listitem><para>May 9th, 2004 [winkie]: Chapter 6 - Removed unused and broken
entries from <filename>nsswitch.conf</filename>.</para></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>
<listitem><para>May 2nd, 2004 [matt]: Quoted chroot commands in chapter 6 (bug
#818).</para></listitem>
<listitem><para>May 2nd, 2004 [matt]: Removed description of the now

View File

@ -191,26 +191,31 @@ that may have older versions available is <ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/"/>.</para></note>
<note><para>2) As of this writing, the Glibc maintainers have decided in their
wisdom not to make available new release tarballs for download. The only way to
obtain the current Glibc release from pristine upstream sources is to pull it
from the Glibc CVS (Concurrent Versioning System) repository. The following commands will download the current
release and make a tarball from it:</para>
wisdom not to make available new release tarballs for download. As
such, the LFS toolchain team have provided a tarball of glibc sources
pulled from Glibc CVS (Concurrent Versioning System) and generated a
tarball from them, including patches where necessary.</para>
<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
export -d glibc-2.3.3-20031202 -D "2003-12-02 UTC" libc
tar jcvf glibc-2.3.3-20031202.tar.bz2 glibc-2.3.3-20031202</userinput></screen>
<para>We have made this tarball available courtesy of the generous LFS mirror
sites:</para>
<para>Alternatively, we've made our own tarball available which you can
download courtesy of the generous LFS mirror sites.</para>
<literallayout><ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="http://lfs.mirror.intermedia.com.sg/packages/glibc/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://dl.lfs.fredan.org/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://packages.lfs-es.org/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://mirror.averse.net/lfs-packages/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://mirror.averse.net/pub/lfs-packages/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/glibc-&glibc-version;.tar.bz2"/></literallayout>
<literallayout><ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/>
<ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-version;.tar.bz2"/>
<ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-version;.tar.bz2"/>
<ulink url="http://dl.lfs.fredan.org/&glibc-version;.tar.bz2"/>
<ulink url="http://packages.lfs-es.org/&glibc-version;.tar.bz2"/>
<ulink url="http://mirror.averse.net/lfs-packages/&glibc-version;.tar.bz2"/>
<ulink url="ftp://mirror.averse.net/pub/lfs-packages/&glibc-version;.tar.bz2"/>
<ulink url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/></literallayout>
<para>If you wish to verify the integrity of the tarball, its MD5 digest
is <computeroutput>cd11fabdf5162ad68329e7b28b308278</computeroutput>, which can
be verified using <command>md5sum</command>.</para>
</note>
</sect1>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 1.0 SBU
&diskspace; 194 MB</screen>
&diskspace; 170 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<secondary>tools, pass 2</secondary></indexterm>
<screen>&buildtime; 1.5 SBU
&diskspace; 108 MB</screen>
&diskspace; 35.6 MB</screen>
<sect2>

View File

@ -12,7 +12,7 @@
<para>The DejaGnu package contains a framework for testing other programs.</para>
<screen>&buildtime; 0.1 SBU
&diskspace; 8.6 MB</screen>
&diskspace; 6.1 MB</screen>
<para>For its installation Dejagnu depends on: Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 7.6 MB</screen>
&diskspace; 7.5 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 17 MB</screen>
&diskspace; 16.9 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 4.4 SBU
&diskspace; 300 MB</screen>
&diskspace; 411.7 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<secondary>tools, pass 2</secondary></indexterm>
<screen>&buildtime; 11.0 SBU
&diskspace; 274 MB</screen>
&diskspace; 332.7 MB</screen>
<sect2>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.5 SBU
&diskspace; 55 MB</screen>
&diskspace; 67.6 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 11.8 SBU
&diskspace; 800 MB</screen>
&diskspace; 734.2 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[2])"/>
@ -39,7 +39,7 @@ cd ../glibc-build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/tools \
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
--disable-profile --enable-add-ons=linuxthreads \
--with-binutils=/tools/bin --with-headers=/tools/include \
--without-gd --without-cvs</userinput></screen>
@ -179,6 +179,7 @@ localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT

View File

@ -12,7 +12,7 @@
<secondary>tools, headers</secondary></indexterm>
<screen>&buildtime; 0.1 SBU
&diskspace; 186 MB</screen>
&diskspace; 192.5 MB</screen>
<sect2>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.7 SBU
&diskspace; 26 MB</screen>
&diskspace; 27.8 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 5.2 MB</screen>
&diskspace; 5.9 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 10 MB</screen>
&diskspace; 10.3 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<para>The Tcl package contains the Tool Command Language.</para>
<screen>&buildtime; 0.9 SBU
&diskspace; 23 MB</screen>
&diskspace; 22.7 MB</screen>
<para>Tcl installation depends on: Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 16 MB</screen>
&diskspace; 16.3 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -42,7 +42,7 @@ cd ../glibc-build</userinput></screen>
<para>Now prepare Glibc for compilation:</para>
<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/usr \
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
--disable-profile --enable-add-ons=linuxthreads \
--libexecdir=/usr/lib --with-headers=/usr/include \
--without-cvs</userinput></screen>
@ -121,11 +121,11 @@ localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
<para>Finally, build the linuxthreads man pages:</para>
<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man</userinput></screen>
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
<para>And install these pages:</para>
<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man install</userinput></screen>
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
</sect2>
@ -149,17 +149,13 @@ passwd: files
group: files
shadow: files
publickey: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: db files
protocols: files
services: files
ethers: files
rpc: files
# End /etc/nsswitch.conf
<userinput>EOF</userinput></screen>

View File

@ -67,6 +67,10 @@ commented out. You should open <filename>make_devices</filename> in an editor
and customize it to your needs. This takes some time, but is very simple. When
you are satisfied, run the script to create the device files:</para>
<warning><para>Failure to properly edit the <command>make_devices</command> to
match your systems's setup (eg. number of partitions) can lead to boot errors.
</para></warning>
<screen><userinput>cd /dev
./make_devices</userinput></screen>

View File

@ -8,7 +8,22 @@
<?dbhtml filename="reboot.html"?>
<para>Now that all of the software has been installed, it is time to reboot
your computer. First exit from the chroot environment:</para>
your computer. However, you should be aware of a few things. The system you
have created in this book is quite minimal, and most likely will not have
the functionality you would need to be able to continue forward. By installing
a few extra packages from the BLFS book while still in our current chroot
environment, you can leave yourself in a much better position to continue on
once you reboot into your new LFS installation. Installing a text mode web
browser, such as Lynx, you can easily view the BLFS book in one virtual
terminal, while building packages in another. The GPM package will also allow
you to perform copy/paste actions in your virtual terminals. Lastly, if you
are in a situation where static IP configuration does not meet your networking
requirements, installing packages such as dhcpcd or ppp at this point might
also be useful.</para>
<para>Now that we have said that, lets move on to booting our shiny new LFS
installation for the first time! First exit from the chroot environment:</para>
<screen><userinput>logout</userinput></screen>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ENTITY version "CVS-2004-05-02">
<!ENTITY releasedate "May 2, 2004">
<!ENTITY version "&milestone;">
<!ENTITY releasedate "May 16, 2004">
<!ENTITY milestone "5.1">
<!ENTITY lfs-root "http://www.linuxfromscratch.org/">
@ -21,7 +21,7 @@
<!ENTITY bash-version "2.05b">
<!ENTITY binutils-version "2.14">
<!ENTITY bison-version "1.875">
<!ENTITY bootscripts-version "2.0.4">
<!ENTITY bootscripts-version "2.0.5">
<!ENTITY bzip2-version "1.0.2">
<!ENTITY coreutils-version "5.2.1">
<!ENTITY dejagnu-version "1.4.4">
@ -36,7 +36,7 @@
<!ENTITY gcc-2953-version "2.95.3">
<!ENTITY gcc-version "3.3.3">
<!ENTITY gettext-version "0.14.1">
<!ENTITY glibc-version "2.3.3">
<!ENTITY glibc-version "2.3.3-lfs-5.1">
<!ENTITY grep-version "2.5.1">
<!ENTITY groff-version "1.19">
<!ENTITY grub-version "0.94">

17
goTidy Normal file
View File

@ -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

View File

@ -20,13 +20,17 @@ Beekmans</ulink> &lt;gerard@linuxfromscratch.org&gt; -- Linux-From-Scratch
initiator, LFS Project organizer.</para></listitem>
<listitem><para><ulink url="mailto:matthew@linuxfromscratch.org">Matthew
Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; -- LFS General Package
maintainer, LFS Book editor.</para></listitem>
Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; -- LFS Project Co-Leader,
LFS General Package maintainer, LFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:meerkats@bellsouth.net">Craig
Colton</ulink> &lt;meerkats@bellsouth.net&gt; -- LFS, ALFS, BLFS and Hints
Project logo creator.</para></listitem>
<listitem><para><ulink url="mailto:nathan@linuxfromscratch.org">Nathan
Coulson</ulink> &lt;nathan@linuxfromscratch.org&gt; -- LFS-Bootscripts
maintainer.</para></listitem>
<listitem><para><ulink url="mailto:jeroen@linuxfromscratch.org">Jeroen
Coumans</ulink> &lt;jeroen@linuxfromscratch.org&gt; -- Website developer, FAQ
maintainer.</para></listitem>
@ -35,6 +39,10 @@ maintainer.</para></listitem>
Dubbs</ulink> &lt;bdubbs@linuxfromscratch.org&gt; -- LFS Quality Assurance Team
leader, BLFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
Canales Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; -- LFS Book
Editor (XML).</para></listitem>
<listitem><para><ulink url="mailto:alex@linuxfromscratch.org">Alex
Groenewoud</ulink> &lt;alex@linuxfromscratch.org&gt; -- LFS Book
editor.</para></listitem>
@ -59,6 +67,10 @@ creator and maintainer.</para></listitem>
Maltby</ulink> &lt;bill@linuxfromscratch.org&gt; -- LFS Project
organizer.</para></listitem>
<listitem><para><ulink url="mailto:alexander@linuxfromscratch.org">Alexander
Patrakov</ulink> &lt;alexander@linuxfromscratch.org&gt; -- LFS Book
Editor (internationalization/localization).</para></listitem>
<listitem><para><ulink url="mailto:scot@linuxfromscratch.org">Scot Mc
Pherson</ulink> &lt;scot@linuxfromscratch.org&gt; -- LFS NNTP gateway
maintainer.</para></listitem>
@ -73,7 +85,7 @@ Wiki developer, LFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:greg@linuxfromscratch.org">Greg
Schafer</ulink> &lt;greg@linuxfromscratch.org&gt; -- Toolchain maintainer,
LFS Book editor, co-creator of PLFS.</para></listitem>
Former LFS Book editor, co-creator of PLFS.</para></listitem>
<listitem><para><ulink url="mailto:tushar@linuxfromscratch.org">Tushar
Teredesai</ulink> &lt;tushar@linuxfromscratch.org&gt; -- BLFS Book editor,
@ -81,7 +93,11 @@ Hints and Patches Projects maintainer.</para></listitem>
<listitem><para><ulink url="mailto:jeremy@linuxfromscratch.org">Jeremy
Utley</ulink> &lt;jeremy@linuxfromscratch.org&gt; -- LFS Book editor, Bugzilla
maintainer.</para></listitem>
maintainer, LFS-Bootscripts Maintainer, LFS Server co-admin.</para></listitem>
<listitem><para><ulink url="mailto:winkie@linuxfromscratch.org">Zack
Winkles</ulink> &lt;winkie@linuxfromscratch.org&gt; -- LFS Book editor
(Emerging Technologies), LFS-Bootscripts co-maintainer.</para></listitem>
<listitem><para>Countless other people on the various LFS and BLFS
mailing lists who are making this book happen by giving their suggestions,
@ -116,102 +132,164 @@ translation project.</para></listitem>
<sect2>
<title>Mirror Maintainers</title>
<sect3>
<title>North American Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
&lt;jason@dstc.edu.au&gt; -- au.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
&lt;lost@l-w.net&gt; -- ca.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:baque@cict.fr">Baque</ulink>
&lt;baque@cict.fr&gt; -- lfs.cict.fr mirror.</para></listitem>
<listitem><para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
&lt;stevie@stevie20.de&gt; -- lfs.netservice-neuss.de
mirror.</para></listitem>
<listitem><para><ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink>
&lt;ian@ichilton.co.uk&gt; -- us.linuxfromscratch.org, linuxfromscratch.co.uk
mirrors.</para></listitem>
<listitem><para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; -- se.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:pgpkeys@aeternamtech.com">David D.W.
Downey</ulink> &lt;pgpkeys@aeternamtech.com&gt; -- lfs.learnbyexample.com
mirror.</para></listitem>
<listitem><para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; -- br.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
&lt;hrx@hrxnet.de&gt; -- de.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
&lt;tim@idge.net&gt; -- linuxfromscratch.idge.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
&lt;barna@siker.hu&gt; -- hu.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
Neefs</ulink> -- linuxfromscratch.rave.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
&lt;sime@dot-sime.com&gt; -- uk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:ervin@activalink.net">Ervin S.
Odisho</ulink> &lt;ervin@activalink.net&gt; -- lfs.activalink.net
mirror.</para></listitem>
<listitem><para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
&lt;guido@primerelay.net&gt; -- nl.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:scott@osuosl.org">Scott Kveton</ulink>
&lt;scott@osuosl.org&gt; -- lfs.oregonstate.edu mirror</para></listitem>
<listitem><para><ulink url="mailto:miha@xuy.biz">Mikhail Pastukhov</ulink>
&lt;miha@xuy.biz&gt; -- lfs.130th.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:unknown@unknown.org">Unknown User</ulink>
&lt;unknown@unknown.org&gt; -- lfs.crash404.com mirror.</para></listitem>
<listitem><para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
&lt;lost@l-w.net&gt; -- ca.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:jpolen@rackspace.com">Jeremy Polen</ulink>
&lt;jpolen@rackspace.com&gt; -- us2.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
-- linuxfromscratch.mirror.co.uk mirror.</para></listitem>
<listitem><para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
&lt;tim@idge.net&gt; -- linuxfromscratch.idge.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
&lt;thomas@sofagang.dk&gt; -- dk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:jeremy@linux-phreak.net">Jeremy Utley
</ulink> &lt;jeremy@linux-phreak.net&gt; -- lfs.linux-phreak.net mirror.
</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>South American Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel Canales
Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; -- lfsmirror.lfs-es.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:sysop@mesi.com.ar">Andres Meggiotto</ulink>
&lt;sysop@mesi.com.ar&gt; -- lfs.mesi.com.ar mirror.</para></listitem>
<listitem><para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; -- br.linuxfromscratch.org
mirror.</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>European Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
&lt;barna@siker.hu&gt; -- hu.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
-- linuxfromscratch.mirror.ac.uk mirror.</para></listitem>
<listitem><para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
&lt;Martin.Voss@ada.de&gt; -- lfs.linux-matrix.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:unknown@unknown.org">Unknown User</ulink>
&lt;unknown@unknown.org&gt; -- mirror.vtx.ch mirror</para></listitem>
<listitem><para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
&lt;guido@primerelay.net&gt; -- nl.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:baafie@planet.nl">Bastiaan Jacques</ulink>
&lt;baafie@planet.nl&gt; -- lfs.pagefault.net mirror</para></listitem>
<listitem><para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
Neefs</ulink> &lt;lfs-mirror@linuxfromscratch.rave.org&gt; -- linuxfromscratch.rave.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:justin@jrknierim.de">Justin Knierim</ulink>
&lt;justin@jrknierim.de&gt; -- www.lfs-matrix.de mirror</para></listitem>
<listitem><para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
&lt;stevie@stevie20.de&gt; -- lfs.netservice-neuss.de
mirror.</para></listitem>
<listitem><para><ulink url="mailto:unknown@unknown.org">Unknown User</ulink>
&lt;unknown@unknown.org&gt; -- linuxfromscratch.je-zi.de
mirror</para></listitem>
<listitem><para><ulink url="mailto:unknown@unknown.org">Unknown User</ulink>
&lt;unknown@unknown.org&gt; -- linuxfromscratch.tuxcenter.net
mirror</para></listitem>
<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
&lt;hrx@hrxnet.de&gt; -- de.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:Antonin.Sprinzl@tuwien.ac.at">Antonin
Sprinzl</ulink> &lt;Antonin.Sprinzl@tuwien.ac.at&gt; -- at.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:dag@stenstad.net">Dag Stenstad</ulink>
&lt;dag@stenstad.net&gt; for providing no.linuxfromscratch.org and
<ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink> for running
it.</para></listitem>
<listitem><para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; -- se.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:archive@doc.cs.univ-paris8.fr">Parisian
sysadmins</ulink> &lt;archive@doc.cs.univ-paris8.fr&gt; --
www2.fr.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for providing and
running the linuxfromscratch.org server.</para></listitem>
<listitem><para><ulink url="mailto:velin@zadnik.org">Alexander Velin</ulink>
&lt;velin@zadnik.org&gt; -- bg.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
&lt;Martin.Voss@ada.de&gt; -- lfs.linux-matrix.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:dirk@securewebservices.co.uk">
Dirk Webster</ulink> &lt;dirk@securewebservices.co.uk&gt; --
lfs.securewebservices.co.uk mirror</para></listitem>
<listitem><para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
&lt;thomas@sofagang.dk&gt; -- dk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
&lt;sime@dot-sime.com&gt; -- uk.linuxfromscratch.org mirror.</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Asian Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:pyng@spam.averse.net">Pui Yong</ulink>
&lt;pyng@spam.averse.net&gt; -- sg.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:stuart@althalus.me.uk">Stuart Harris</ulink>
&lt;stuart@althalus.me.uk&gt; -- lfs.mirror.intermedia.com.sg
mirror</para></listitem>
<listitem><para><ulink url="mailto:unknown@unknown.org">Unknown User</ulink>
&lt;unknown@unknown.org&gt; -- lfs.mirror.if.itb.ac.id mirror</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Australian Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
&lt;jason@dstc.edu.au&gt; -- au.linuxfromscratch.org mirror.</para></listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2>
@ -296,7 +374,8 @@ LFS banner by Garrett LeSage.</para></listitem>
look at <ulink url="http://www.oswd.org/"/>.</para></listitem>
<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for answering
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for temporarily
hosting the linuxfromscratch.org server, answering
countless questions on IRC and having a great deal of patience.</para></listitem>
</itemizedlist>

View File

@ -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'"/>
<!-- 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"/>
<!-- The CSS Stylesheet -->
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
<!-- Include our customised templates -->
<xsl:include href="xhtml/lfs-toc.xsl"/>
<xsl:include href="xhtml/lfs-index.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>
<!--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>

View File

@ -0,0 +1,29 @@
<?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 -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/docbook.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-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<!-- The following breaks hyperlinks in the TOC -->
<!-- <xsl:include href="xhtml/lfs-titles.xsl"/> -->
<xsl:include href="xhtml/lfs-toc.xsl"/>
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'lfs.css'"/>
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
</xsl:stylesheet>

View File

@ -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"/>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</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 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 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-->

57
stylesheets/lfs-print.xsl Normal file
View File

@ -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>

78
stylesheets/lfs-tex.xsl Normal file
View File

@ -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>

View File

@ -1,24 +1,17 @@
body {
font-weight: normal;
font-size: normal;
font-size: medium;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
text-align: left;
background: #fff;
}
div.navheader table {
font-size: smaller;
.toc ul, .index ul {
list-style: none;
}
div.navfooter table {
font-size: smaller;
}
div.navheader img {
border: medium none;
}
div.navfooter img {
border: medium none;
li.preface {
margin-left: 2.5em;
}
div.book div.titlepage h1.title {
@ -68,40 +61,19 @@ pre.synopsis {
background-color: #dddddd;
}
div.warning {
border: 1px solid;
div.admonition {
border: medium solid;
width: 90%;
margin: .5em auto;
}
div.note {
border: 1px solid;
div.admonhead h3 {
display: inline;
margin-left: 1.5em;
}
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.important {
padding-left: 0.2in
}
div.caution {
padding-left: 0.2in
div.admonbody {
margin: .5em;
}
.command {
@ -118,7 +90,3 @@ div.caution {
width: 12.5em;
float: left;
}
.toc ul, .index ul, .navheader ul, .navfooter ul {
list-style: none;
}

View File

@ -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>

View File

@ -0,0 +1,196 @@
<?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 secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
<!ENTITY sep '" "'>
]>
<!-- 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">
<!--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: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: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>
<!-- Dropping the separator from here -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<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">
<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: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"/>
<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: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>
</xsl:stylesheet>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1,188 @@
<?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="http://www.w3.org/1999/xhtml"
version="1.0">
<!--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: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">
<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;)"/>
<!-- Make sure that we don't generate a div if there are no terms in scope -->
<xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<div class="indexdiv">
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<h2>
<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>
</h2>
</xsl:if>
<ul>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</div>
</xsl:if>
</xsl:template>
<!-- Dropping the separator from here-->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<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;]"/>
<li>
<strong class="item">
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
<xsl:if test="$refs/secondary">
<ul>
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)]))))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</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;,
normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<li>
<strong class="secitem">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</li>
</xsl:template>
<!--Links (This template also fix a bug in the original code)-->
<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('sections', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('sections', $zone2)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
<xsl:text> -- </xsl:text>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:text>description</xsl:text>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Dropping unneeded anchors -->
<xsl:template match="indexterm"/>
</xsl:stylesheet>

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1,98 @@
<?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 != .">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">
<h4>
<xsl:apply-templates select="$home" mode="object.title.markup"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
</h4>
</th>
</tr>
<xsl:if test="$up != $home">
<tr>
<th colspan="3" align="center">
<h3>
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</h3>
</th>
</tr>
</xsl:if>
<tr>
<td width="33%" align="left">
<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:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<xsl:text>&#160;</xsl:text>
</td>
<td width="34%" align="center">
<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:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</td>
<td width="33%" align="right">
<xsl:text>&#160;</xsl:text>
<xsl:if test="count($next)&gt;0">
<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:call-template name="navig.content">
<xsl:with-param name="direction" select="'next'"/>
</xsl:call-template>
</a>
</xsl:if>
</td>
</tr>
</table>
<hr/>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -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>

View File

@ -0,0 +1,144 @@
<?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">
<!-- General settings -->
<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>
<!-- 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">
<xsl:param name="toc-context" select="."/>
<xsl:param name="depth" select="1"/>
<xsl:param name="depth.from.context" select="8"/>
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">
<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>
<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>
<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>
<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>
</h3>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

17
tidy.conf Normal file
View File

@ -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