--- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Mon Aug 22 01:26:23 2011 +0200
+++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Mon Aug 22 13:57:20 2011 +0200
@@ -39,7 +39,9 @@
* @param zdroják zdrojový kód, který předáme příkazu pygmentize na standardním vstupu
* @param jazyk předáme příkazu pygmentize jako parametr -l <lexer>
* @return zvýrazněný text nebo null, pokud došlo k chybě.
- * TODO: použít (?) místo textu instanci com.icl.saxon.om.NodeInfo http://saxon.sourceforge.net/saxon6.5.3/extensibility.html
+ * TODO:
+ * - použít (?) místo textu instanci com.icl.saxon.om.NodeInfo http://saxon.sourceforge.net/saxon6.5.3/extensibility.html
+ * - nebo kontrolovat validitu vygenerovaného kódu (v současnosti se spoléháme na bezchybnost pygmentize)
*/
public static String zvýrazniSyntaxi(String zdroják, String jazyk) throws IOException, InterruptedException {
if (jazyk == null || jazyk.length() == 0) {
@@ -75,6 +77,20 @@
}
/**
+ * Vygeneruje CSS styl pro zvýrazňování syntaxe.
+ * @return obsah CSS souboru nebo null, pokud generování nebylo možné
+ */
+ public static String generujCssSyntaxe() throws IOException, InterruptedException {
+ if (isPrikazDostupny(PŘÍKAZ_PYGMENTIZE)) {
+ Runtime r = Runtime.getRuntime();
+ Process p = r.exec(new String[]{PŘÍKAZ_PYGMENTIZE, "-S", "default", "-f", "html"});
+ return načtiProud(p.getInputStream());
+ } else {
+ return null;
+ }
+ }
+
+ /**
* Čte proud dat dokud to jde a výsledek pak vrátí jako text.
* @param proud vstupní proud
* @return obsah proudu jako text