diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | chapter02/creatingfilesystem.xml | 4 | ||||
-rw-r--r-- | prologue/typography.xml | 4 | ||||
-rw-r--r-- | stylesheets/dump-commands.xsl | 84 |
4 files changed, 93 insertions, 4 deletions
@@ -1,4 +1,5 @@ BASEDIR=~/lfs-book +DUMPDIR=~/lfs-commands CHUNK_QUIET=0 PDF_OUTPUT=LFS-BOOK.pdf NOCHUNKS_OUTPUT=LFS-BOOK.html @@ -61,6 +62,10 @@ nochunks: sed -i -e "s@text/html@application/xhtml+xml@g" \ $(BASEDIR)/$(NOCHUNKS_OUTPUT) +dump-commands: + xsltproc --xinclude --nonet --output $(DUMPDIR)/ \ + stylesheets/dump-commands.xsl index.xml + validate: xmllint --noout --nonet --xinclude --postvalid index.xml diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml index aa79776a5..414ca6a77 100644 --- a/chapter02/creatingfilesystem.xml +++ b/chapter02/creatingfilesystem.xml @@ -29,7 +29,7 @@ e2fsprogs; you will get an error similar to <quote>unsupported filesystem features, upgrade your e2fsprogs</quote>. To check if your host system uses custom enhancements, run the following command:</para> -<screen><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen> +<screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen> <para>If the output contains features other than: dir_index; filetype; large_file; resize_inode or sparse_super then your host system may have custom @@ -37,7 +37,7 @@ enhancements. In that case, to avoid later problems, you should compile the stock e2fsprogs package and use the resulting binaries to re-create the filesystem on your LFS partition:</para> -<screen><userinput>cd /tmp +<screen role="nodump"><userinput>cd /tmp tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2 cd e2fsprogs-&e2fsprogs-version; mkdir build diff --git a/prologue/typography.xml b/prologue/typography.xml index 84ff4ca16..b101817fe 100644 --- a/prologue/typography.xml +++ b/prologue/typography.xml @@ -12,7 +12,7 @@ conventions used throughout this book. This section contains some examples of the typographical format found throughout Linux From Scratch.</para> -<screen><userinput>./configure --prefix=/usr</userinput></screen> +<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen> <para>This form of text is designed to be typed exactly as seen unless otherwise noted in the surrounding text. It is also used in the @@ -37,7 +37,7 @@ purpose is to emphasize important points or items.</para> community and to external pages. It includes HOWTOs, download locations, and websites.</para> -<screen><userinput>cat > $LFS/etc/group << "EOF" +<screen role="nodump"><userinput>cat > $LFS/etc/group << "EOF" <literal>root:x:0: bin:x:1: ......</literal> diff --git a/stylesheets/dump-commands.xsl b/stylesheets/dump-commands.xsl new file mode 100644 index 000000000..a91bb1cac --- /dev/null +++ b/stylesheets/dump-commands.xsl @@ -0,0 +1,84 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + extension-element-prefixes="exsl" + version="1.0"> + +<!-- XSLT stylesheet to extract commands from [B,H]LFS books. --> + + <xsl:template match="/"> + <xsl:apply-templates select="//sect1"/> + </xsl:template> + + <xsl:template match="sect1"> + <!-- The dirs names --> + <xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/> + <xsl:variable name="pi-dir-value" select="substring-after($pi-dir,'dir=')"/> + <xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/> + <xsl:variable name="dirname" select="substring-before(substring($pi-dir-value,2),$quote-dir)"/> + <!-- The file names --> + <xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/> + <xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/> + <xsl:variable name="filename" select="substring-before(substring($pi-file-value,2),'.html')"/> + <!-- The build order --> + <xsl:variable name="position" select="position()"/> + <xsl:variable name="order"> + <xsl:choose> + <xsl:when test="string-length($position) = 1"> + <xsl:text>00</xsl:text> + <xsl:value-of select="$position"/> + </xsl:when> + <xsl:when test="string-length($position) = 2"> + <xsl:text>0</xsl:text> + <xsl:value-of select="$position"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$position"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- Creating dirs and files --> + <exsl:document href="{$dirname}/{$order}-{$filename}" method="text"> + <xsl:apply-templates select=".//screen"/> + </exsl:document> + </xsl:template> + + <xsl:template match="screen"> + <xsl:if test="child::* = userinput"> + <xsl:choose> + <xsl:when test="@role = 'nodump'"/> + <xsl:when test="@role = 'root'"> + <xsl:text>
</xsl:text> + <xsl:text># Run this as root</xsl:text> + <xsl:apply-templates select="userinput"/> + <xsl:text># End root commands</xsl:text> + <xsl:text>
</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="userinput"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:template> + + <xsl:template match="userinput"> + <xsl:text>
</xsl:text> + <xsl:if test=".//replaceable"> + <xsl:text># This block must be edited to suit your needs.</xsl:text> + </xsl:if> + <xsl:text>
</xsl:text> + <xsl:apply-templates/> + <xsl:text>
</xsl:text> + <xsl:if test=".//replaceable"> + <xsl:text># End of editable block.</xsl:text> + </xsl:if> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="replaceable"> + <xsl:text>**EDITME</xsl:text> + <xsl:apply-templates/> + <xsl:text>EDITME**</xsl:text> + </xsl:template> + +</xsl:stylesheet> |