šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java
changeset 31 da6ae32853cb
parent 30 cefd5fe75cb8
child 32 6bc25517ac4f
--- 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