Zvýrazňování syntaxe: zdroják nemusí být vložen uvnitř značky <m:pre/>, ale může být v souboru určeném atributem src="název-souboru".
1.1 --- a/.hgignore Tue Sep 13 18:57:24 2011 +0200
1.2 +++ b/.hgignore Sat Dec 31 17:52:21 2011 +0100
1.3 @@ -3,3 +3,4 @@
1.4 šablona/funkce/build/*
1.5 vstup/.seznam.xml
1.6 analýza/princip.png
1.7 +nbproject/private
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/vstup/matrixový-spořič.sh Sat Dec 31 17:52:21 2011 +0100
2.3 @@ -0,0 +1,16 @@
2.4 +#!/bin/bash
2.5 +# Matrixový spořič :-)
2.6 +
2.7 +case "$1" in
2.8 + start)
2.9 + echo -e "\033[22;32m";
2.10 + cat /dev/urandom | hexdump;
2.11 +;;
2.12 + stop)
2.13 + echo -e "\033[0m";
2.14 +;;
2.15 + *)
2.16 + $0 start;
2.17 +;;
2.18 +esac
2.19 +
3.1 --- a/vstup/zdrojáky.xml Tue Sep 13 18:57:24 2011 +0200
3.2 +++ b/vstup/zdrojáky.xml Sat Dec 31 17:52:21 2011 +0100
3.3 @@ -53,21 +53,7 @@
3.4
3.5 <h2>BASH</h2>
3.6
3.7 - <m:pre jazyk="bash">#!/bin/bash
3.8 -# Matrixový spořič :-)
3.9 -
3.10 -case "$1" in
3.11 - start)
3.12 - echo -e "\033[22;32m";
3.13 - cat /dev/urandom | hexdump;
3.14 -;;
3.15 - stop)
3.16 - echo -e "\033[0m";
3.17 -;;
3.18 - *)
3.19 - $0 start;
3.20 -;;
3.21 -esac</m:pre>
3.22 + <m:pre jazyk="bash" src="matrixový-spořič.sh"/>
3.23
3.24 <h2>Chyby</h2>
3.25
4.1 --- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Tue Sep 13 18:57:24 2011 +0200
4.2 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Dec 31 17:52:21 2011 +0100
4.3 @@ -1,6 +1,7 @@
4.4 package cz.frantovo.xmlWebGenerator;
4.5
4.6 import java.io.File;
4.7 +import java.io.FileInputStream;
4.8 import java.io.IOException;
4.9 import java.io.PrintStream;
4.10 import java.util.Date;
4.11 @@ -22,6 +23,7 @@
4.12 private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize";
4.13 private static final String PŘÍKAZ_DOT = "dot";
4.14 private static final String PŘÍKAZ_MARKDOWN = "markdown";
4.15 + private static final String ADRESÁŘ_VSTUPNÍ = "vstup";
4.16 private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup";
4.17 private static int počítadloDiagramů = 0;
4.18
4.19 @@ -80,6 +82,17 @@
4.20 }
4.21
4.22 /**
4.23 + * TODO: prohodit volání mezi zvýrazniSyntaxiSouboru() a zvýrazniSyntaxi(),
4.24 + * aby se nepřeváděl proud na text a pak zase na proud.
4.25 + *
4.26 + * @param src cesta k souboru, jehož obsah se má zvýraznit a vložit
4.27 + */
4.28 + public static String zvýrazniSyntaxiSouboru(String src, String jazyk) throws IOException, InterruptedException {
4.29 + String zdroják = načtiProud(new FileInputStream(new File(ADRESÁŘ_VSTUPNÍ, src)));
4.30 + return zvýrazniSyntaxi(zdroják, jazyk);
4.31 + }
4.32 +
4.33 + /**
4.34 * Vygeneruje CSS styl pro zvýrazňování syntaxe.
4.35 * @return obsah CSS souboru nebo null, pokud generování nebylo možné
4.36 */
5.1 --- a/šablona/stránka.xsl Tue Sep 13 18:57:24 2011 +0200
5.2 +++ b/šablona/stránka.xsl Sat Dec 31 17:52:21 2011 +0100
5.3 @@ -123,7 +123,19 @@
5.4 Makro pro zvýraznění syntaxe:
5.5 -->
5.6 <xsl:template match="m:pre">
5.7 - <xsl:variable name="zvýrazněnýText" select="j:zvýrazniSyntaxi(text(), @jazyk)"/>
5.8 + <xsl:call-template name="vypišPre">
5.9 + <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxi(text(), @jazyk)"/>
5.10 + </xsl:call-template>
5.11 + </xsl:template>
5.12 +
5.13 + <xsl:template match="m:pre[@src]">
5.14 + <xsl:call-template name="vypišPre">
5.15 + <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxiSouboru(@src, @jazyk)"/>
5.16 + </xsl:call-template>
5.17 + </xsl:template>
5.18 +
5.19 + <xsl:template name="vypišPre">
5.20 + <xsl:param name="zvýrazněnýText"/>
5.21 <xsl:choose>
5.22 <xsl:when test="$zvýrazněnýText">
5.23 <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment>