Changeset 31:da6ae32853cb

Show
Ignore:
Timestamp:
08/22/11 13:57:20 (13 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

Zvýrazňování syntaxe #12 – prakticky hotové.

Files:
2 added
6 modified

Legend:

Unmodified
Added
Removed
  • build.xml

    r24 r31  
    1414        </target> 
    1515         
    16         <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,kompiluj-funkce">          
     16        <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce">          
    1717                <xslt basedir="${vstup}" destdir="${výstup}" includes="*${vstupníPřípona}" extension="${výstupníPřípona}" style="${šablona}/stránka.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> 
    1818                        <param name="konfigurák" expression="../${vstup}/"/>             
     
    2020                        <param name="vstupníPřípona" expression="${vstupníPřípona}"/> 
    2121                        <param name="výstupníPřípona" expression="${výstupníPřípona}"/> 
     22                        <classpath location="/usr/share/java/saxonb-9.0.jar"/> 
     23                        <classpath location="${funkce}"/> 
     24                        <factory name="net.sf.saxon.TransformerFactoryImpl"> 
     25                                <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>                            
     26                        </factory> 
     27                </xslt> 
     28        </target> 
     29         
     30        <target name="syntaxe" description="Vygeneruje CSS styl pro zvýrazňování syntaxe" depends="kompiluj-funkce"> 
     31                <xslt in="${vstup}/web.conf" out="${výstup}/css/syntaxe.css" style="${šablona}/syntaxe.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> 
    2232                        <classpath location="/usr/share/java/saxonb-9.0.jar"/> 
    2333                        <classpath location="${funkce}"/> 
  • vstup/css/styl.css

    r25 r31  
    5656} 
    5757 
     58pre { 
     59        background-color: #ddf; 
     60        padding: 6px; 
     61        border-radius: 4px; 
     62} 
  • vstup/produkty.xml

    r29 r31  
    2121                <p>Aliquam erat volutpat. Quisque vitae libero est. Aliquam erat volutpat. Integer elementum, nisl nec lacinia facilisis, dolor tellus varius eros, sit amet facilisis sem sapien vitae nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer rutrum sodales venenatis. Donec mollis aliquet enim, id venenatis urna faucibus sed. Suspendisse pharetra neque et nibh tincidunt suscipit. Morbi ut justo sit amet lectus faucibus tempor quis non libero. Aenean in dolor sem, in lacinia sem.</p> 
    2222                 
    23                  
    24  
    25                 <m:pre jazyk="java">public class Pokus { 
    26                 // komentář 
    27                 // &lt;blee/&gt; 
    28 }</m:pre> 
    29  
    30                 <m:pre jazyk="xml"><![CDATA[<xmlDokument> 
    31         <element1>toto je <strong>pěkné</strong> XML!!!</element1> 
    32 </xmlDokument>]]></m:pre> 
    33  
    34                 <m:pre jazyk="xxxxxxxx">chybný jazyk → syntaxe nebude zvýrazněna</m:pre> 
    35                  
    36                 <m:pre>#!/bin/bash 
    37 # tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí 
    38 # &lt;blee/&gt;</m:pre> 
    39                  
    4023                <p>Vhodnost zvířete do domácnosti:</p> 
    4124                <m:měřák hodnota="80"/> 
  • vstup/služby.xml

    r18 r31  
    1 <stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"> 
     1<stránka  
     2        xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" 
     3        xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> 
    24        <nadpis>Služby</nadpis> 
    35        <perex>Co poskytujeme.</perex> 
     
    79 
    810                <p>Naše služby jsou ty nejlepší ze všech. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 
    9                 <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros.     </p> 
     11                <p>Morbi et magna a ligula pulvinar posuere. Podívejte se také na naše <m:a href="zdrojáky">zdrojové kódy</m:a>. Pellentesque sit amet sem sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros. </p> 
    1012                 
    1113                <h2>Pravidelné krmení ptáků</h2> 
  • vstup/web.conf

    r18 r31  
    2323        --> 
    2424        <css>css/styl.css</css> 
     25        <css>css/syntaxe.css</css> 
    2526        <js>js/skript.js</js> 
    2627         
  • šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java

    r30 r31  
    4040         * @param jazyk předáme příkazu pygmentize jako parametr -l &lt;lexer&gt; 
    4141         * @return zvýrazněný text nebo null, pokud došlo k chybě. 
    42          * TODO: použít (?) místo textu instanci com.icl.saxon.om.NodeInfo http://saxon.sourceforge.net/saxon6.5.3/extensibility.html 
     42         * TODO:  
     43         *      - použít (?) místo textu instanci com.icl.saxon.om.NodeInfo http://saxon.sourceforge.net/saxon6.5.3/extensibility.html 
     44         *  - nebo kontrolovat validitu vygenerovaného kódu (v současnosti se spoléháme na bezchybnost pygmentize) 
    4345         */ 
    4446        public static String zvýrazniSyntaxi(String zdroják, String jazyk) throws IOException, InterruptedException { 
     
    7173                        System.err.println("\t$ aptitude install python-pygments   # (Debian/Ubuntu)"); 
    7274                        System.err.println("\t$ yum install python-pygments        # (Fedora/RedHat)"); 
     75                        return null; 
     76                } 
     77        } 
     78 
     79        /** 
     80         * Vygeneruje CSS styl pro zvýrazňování syntaxe. 
     81         * @return obsah CSS souboru nebo null, pokud generování nebylo možné 
     82         */ 
     83        public static String generujCssSyntaxe() throws IOException, InterruptedException { 
     84                if (isPrikazDostupny(PŘÍKAZ_PYGMENTIZE)) { 
     85                        Runtime r = Runtime.getRuntime(); 
     86                        Process p = r.exec(new String[]{PŘÍKAZ_PYGMENTIZE, "-S", "default", "-f", "html"}); 
     87                        return načtiProud(p.getInputStream()); 
     88                } else { 
    7389                        return null; 
    7490                }