1 <project name="xhtml-web" basedir="." default="generuj">
3 <!-- Používané adresáře – např. zde můžete vstup a výstup nasměrovat do jiného verzovaného úložiště -->
4 <property name="vstup" value="vstup"/>
5 <property name="výstup" value="výstup"/>
6 <property name="šablona" value="šablona"/>
7 <property name="seznamMaker" value="${šablona}/.makra-seznam.xsl"/>
8 <property name="temp" value="temp"/>
9 <property name="funkce" value="${šablona}/funkce/build/classes"/>
11 <property name="vstupníPřípona" value=".xml"/>
12 <property name="výstupníPřípona" value=".xhtml"/>
14 <target name="generuj" description="Vygeneruje kompletní web." depends="agregace,stránky">
17 <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce,makra">
18 <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">
19 <param name="konfigurák" expression="../${vstup}/"/>
20 <param name="podporaZaostalýchProhlížečů" expression="false"/>
21 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
22 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
23 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
24 <classpath location="${funkce}"/>
25 <factory name="net.sf.saxon.TransformerFactoryImpl">
26 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
31 <target name="syntaxe" description="Vygeneruje CSS styl pro zvýrazňování syntaxe" depends="kompiluj-funkce">
32 <xslt in="${vstup}/web.conf" out="${výstup}/css/syntaxe.css" style="${šablona}/syntaxe.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
33 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
34 <classpath location="${funkce}"/>
35 <factory name="net.sf.saxon.TransformerFactoryImpl">
36 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
41 <target name="makra" description="Vygeneruje seznam maker podle souborů v příslušných složkách" depends="kompiluj-funkce">
42 <xslt in="${vstup}/web.conf" out="${seznamMaker}" style="${šablona}/makra.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
43 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
44 <classpath location="${funkce}"/>
45 <factory name="net.sf.saxon.TransformerFactoryImpl">
46 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
51 <target name="agregace" description="Vytvoří agregované výstupy: RSS, Atom, Sitemap.xml." depends="kompiluj-funkce">
52 <!-- TODO: sloučit, zjednodušit, parametrizovat -->
55 <xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
56 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
57 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
58 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
59 <classpath location="${funkce}"/>
60 <factory name="net.sf.saxon.TransformerFactoryImpl">
61 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
66 <xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
67 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
68 <classpath location="${funkce}"/>
69 <factory name="net.sf.saxon.TransformerFactoryImpl">
70 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
75 <xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
76 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
77 <classpath location="${funkce}"/>
78 <factory name="net.sf.saxon.TransformerFactoryImpl">
79 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
83 <!-- Seznam stránek -->
84 <xslt in="${výstup}/atom.xml" out="${vstup}/.seznam.xml" style="${šablona}/seznam.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
85 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
86 <classpath location="${funkce}"/>
87 <factory name="net.sf.saxon.TransformerFactoryImpl">
88 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
94 <target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě.">
95 <mkdir dir="${funkce}"/>
97 srcdir="${šablona}/funkce/src"
99 includeAntRuntime="no">
103 <target name="statický-obsah" description="Kopíruje JS, CSS, obrázky atd.">
104 <copy todir="${výstup}">
105 <fileset dir="${vstup}" excludes="*.xml,makra.xsl,*.inc,web.conf"/>
109 <target name="čisti" description="Smaže vygenerovaný obsah.">
110 <delete includeemptydirs="true">
111 <fileset dir="${výstup}" includes="**/*"/>
112 <fileset dir="${funkce}" includes="**/*"/>
113 <fileset file="${seznamMaker}"/>