Přesunutí ukázkového obsahu do adresáře „ukázka“ a vytvoření symbolického odkazu „vstup“, který na něj ukazuje.
Uživatel si může symbolický odkaz smazat a udělat si místo něj adresář „vstup“ nebo odkaz nasměrovat jinam.
1.1 --- a/.hgignore Sun Jul 08 12:55:27 2012 +0200
1.2 +++ b/.hgignore Sat Nov 17 23:05:59 2012 +0100
1.3 @@ -3,6 +3,7 @@
1.4 šablona/funkce/build/*
1.5 šablona/.makra-seznam.xsl
1.6 vstup/.seznam.xml
1.7 +ukázka/.seznam.xml
1.8 analýza/princip.png
1.9 nbproject/private
1.10 dokumentace/javadoc
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/ukázka/css/styl.css Sat Nov 17 23:05:59 2012 +0100
2.3 @@ -0,0 +1,205 @@
2.4 +body {
2.5 + background-color: #3c3b37;
2.6 + font-family: sans-serif;
2.7 + text-align: center;
2.8 + font-size: 16px;
2.9 +}
2.10 +
2.11 +a img {
2.12 + border: none;
2.13 +}
2.14 +
2.15 +a:hover {
2.16 + text-shadow: 1px 1px 1px #eee;
2.17 +}
2.18 +a[href^="https://"]:hover {
2.19 + text-shadow: 1px 1px 1px #6f6;
2.20 +}
2.21 +a[href^="http://"]:hover {
2.22 + text-shadow: 1px 1px 1px #66f;
2.23 +}
2.24 +
2.25 +#tělo {
2.26 + width: 900px;
2.27 + text-align: left;
2.28 + margin: 0 auto;
2.29 + margin-top: 32px;
2.30 + margin-bottom: 32px;
2.31 + background-color: #77bed2;
2.32 + padding-left: 20px;
2.33 + padding-right: 20px;
2.34 + padding-top: 2px;
2.35 + padding-bottom: 2px;
2.36 + border-radius: 8px;
2.37 +}
2.38 +
2.39 +#nabídka {
2.40 + width: 10.3em;
2.41 + position: relative;
2.42 + left: -20px;
2.43 + top: -12px;
2.44 + background-color: #3c3b37;
2.45 + border-top-right-radius: 8px;
2.46 + border-bottom-right-radius: 8px;
2.47 + padding-top: 6px;
2.48 + padding-bottom: 6px;
2.49 + padding-left: 10px;
2.50 + list-style-type: none;
2.51 + float: left;
2.52 +}
2.53 +
2.54 +#nabídka a {
2.55 + color: white;
2.56 +}
2.57 +
2.58 +#nabídka a:hover {
2.59 + color: #77bed2;
2.60 + text-shadow: none;
2.61 +}
2.62 +
2.63 +#text {
2.64 + min-height: 400px;
2.65 +}
2.66 +
2.67 +#zápatí {
2.68 + font-size: small;
2.69 + text-align: center;
2.70 +}
2.71 +
2.72 +pre {
2.73 + background-color: #ddf;
2.74 + padding: 6px;
2.75 + border-radius: 4px;
2.76 + overflow: auto;
2.77 +
2.78 + -moz-tab-size: 4;
2.79 + -o-tab-size: 4;
2.80 + tab-size: 4;
2.81 +}
2.82 +
2.83 +.zdroják-ke-stažení {
2.84 + font-size: 60%;
2.85 + margin-top: -20px;
2.86 + padding-right: 0px;
2.87 + text-align: right;
2.88 +}
2.89 +.zdroják-ke-stažení span {
2.90 + background-color: #ddf;
2.91 + color: black;
2.92 + padding: 5px;
2.93 + border-radius: 0px 0px 4px 4px;
2.94 + padding-top: 0px;
2.95 + padding-bottom: 0px;
2.96 +}
2.97 +
2.98 +.zdroják-ke-stažení a {
2.99 + text-decoration: none
2.100 +}
2.101 +
2.102 +.diagram {
2.103 + background-color: #ddf;
2.104 + padding: 6px;
2.105 + border-radius: 4px;
2.106 + text-align: center;
2.107 + max-width: 100%;
2.108 + overflow: auto;
2.109 +}
2.110 +
2.111 +.diagram .nadpis {
2.112 + font-size: 60%;
2.113 + padding: 4px;
2.114 + margin-top: 6px;
2.115 + margin-bottom: -6px;
2.116 + margin-left: -6px;
2.117 + margin-right: -6px;
2.118 + background-color: #d0d0f0;
2.119 + border-radius: 0px 0px 4px 4px;
2.120 +}
2.121 +
2.122 +table {
2.123 + border-collapse:collapse;
2.124 + box-shadow: 3px 3px 3px grey;
2.125 + margin-top: 10px;
2.126 + margin-bottom: 10px;
2.127 +}
2.128 +td, th {
2.129 + border: 1px solid black;
2.130 + padding-top: 4px;
2.131 + padding-bottom: 4px;
2.132 + padding-left: 6px;
2.133 + padding-right: 6px;
2.134 + font-weight: normal;
2.135 +}
2.136 +td.číslo {
2.137 + text-align: right;
2.138 +}
2.139 +thead tr {
2.140 + background: grey;
2.141 + color:black;
2.142 +}
2.143 +tbody tr:hover {
2.144 + background-color: silver;
2.145 + color:black;
2.146 +}
2.147 +
2.148 +.rot13 span {
2.149 + color: gray;
2.150 + font-family: monospace;
2.151 +}
2.152 +
2.153 +.rot13 a {
2.154 + margin-left: -5px;
2.155 + color: green;
2.156 + text-decoration: none;
2.157 +}
2.158 +
2.159 +.rot13 a:hover {
2.160 + color: red;
2.161 +}
2.162 +
2.163 +sup, sub {
2.164 + vertical-align: 0;
2.165 + position: relative;
2.166 +}
2.167 +sup {
2.168 + bottom: 1ex;
2.169 +}
2.170 +sub {
2.171 + top: 0.8ex;
2.172 +}
2.173 +
2.174 +sup.podČarou-odkaz a {
2.175 + color: grey;
2.176 + text-decoration: none;
2.177 +}
2.178 +
2.179 +div.podČarou-poznámky {
2.180 + font-size: 66%;
2.181 + border-top: 1px solid grey;
2.182 + border-bottom: 1px solid grey;
2.183 + padding-left: 20px;
2.184 + padding-top: 4px;
2.185 + padding-bottom: 4px;
2.186 +}
2.187 +
2.188 +div.podČarou-poznámky p {
2.189 + margin-top: 2px;
2.190 + margin-bottom: 2px;
2.191 +}
2.192 +
2.193 +div.podČarou-poznámky a.podČarou-odkaz-zpět {
2.194 + color: black;
2.195 + text-decoration: none;
2.196 + margin-right: 4px;
2.197 +}
2.198 +
2.199 +
2.200 +blockquote {
2.201 + background-color: #ddf;
2.202 + padding-top: 3px;
2.203 + padding-bottom: 3px;
2.204 + padding-left: 16px;
2.205 + padding-right: 16px;
2.206 + border-radius: 4px;
2.207 +}
2.208 +
3.1 Binary file ukázka/grafika/logo.png has changed
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/ukázka/index.xml Sat Nov 17 23:05:59 2012 +0100
4.3 @@ -0,0 +1,21 @@
4.4 +<stránka
4.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
4.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
4.7 +
4.8 + <nadpis>Chovatelská stanice</nadpis>
4.9 + <perex>Úvodní stránka našeho webu.</perex>
4.10 + <pořadí>10</pořadí>
4.11 +
4.12 + <text xmlns="http://www.w3.org/1999/xhtml">
4.13 + <p>
4.14 + Vítejte na našich stránkách :-)
4.15 + Jsme chovatelská stanice zaměřená na chov tučňáků.<m:podČarou>Jsou to opravdu moc pěkná zvířata.</m:podČarou>
4.16 +
4.17 + 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.
4.18 + </p>
4.19 + <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="služby">služby</m:a><m:podČarou>Tam se určitě podívejte!</m:podČarou> 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>
4.20 + <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
4.21 + </text>
4.22 +
4.23 +</stránka>
4.24 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/ukázka/js/skript.js Sat Nov 17 23:05:59 2012 +0100
5.3 @@ -0,0 +1,65 @@
5.4 +/**
5.5 + * XML Web generátor – program na generování webových stránek
5.6 + * Copyright © 2012 František Kučera (frantovo.cz)
5.7 + *
5.8 + * This program is free software: you can redistribute it and/or modify
5.9 + * it under the terms of the GNU General Public License as published by
5.10 + * the Free Software Foundation, either version 3 of the License, or
5.11 + * (at your option) any later version.
5.12 + *
5.13 + * This program is distributed in the hope that it will be useful,
5.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
5.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5.16 + * GNU General Public License for more details.
5.17 + *
5.18 + * You should have received a copy of the GNU General Public License
5.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
5.20 + */
5.21 +
5.22 +/**
5.23 + * XML Web generátor – jmenný prostor
5.24 + */
5.25 +var xwg = {
5.26 + /**
5.27 + * Zašifruje/dešifruje obsah elementu pomocí Rot13.
5.28 + * @param id ID elementu, jehož text chceme změnit.
5.29 + */
5.30 + rot13: function(id) {
5.31 + var e = document.getElementById(id);
5.32 + e.textContent = e.textContent.rot13();
5.33 + },
5.34 +
5.35 + /**
5.36 + * Vloží klikatelný odkaz.
5.37 + * @param id ID span elementu obsahujícího data
5.38 + */
5.39 + odkazNaElektronickouPoštu: function(id) {
5.40 + var spanČesky = document.getElementById(id);
5.41 + var spanObsah = document.getElementById(id + "b");
5.42 + var česky = spanČesky.innerHTML;
5.43 + var adresa = česky.replace(" zavináč ", "@").replace(" tečka ",".");
5.44 +
5.45 + var odkaz = document.createElement("a");
5.46 + odkaz.href = "mailto:" + adresa;
5.47 + if (spanObsah.innerHTML.length > 0) {
5.48 + odkaz.innerHTML = spanObsah.innerHTML;
5.49 + } else {
5.50 + odkaz.innerHTML = adresa;
5.51 + }
5.52 +
5.53 + spanČesky.parentNode.insertBefore(odkaz, spanČesky);
5.54 + spanČesky.parentNode.removeChild(spanČesky);
5.55 + spanObsah.parentNode.removeChild(spanObsah);
5.56 + },
5.57 +
5.58 +};
5.59 +
5.60 +/**
5.61 + * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13
5.62 + */
5.63 +String.prototype.rot13 = function() {
5.64 + return this.replace(/[a-zA-Z]/g, function(z) {
5.65 + return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
5.66 + });
5.67 +};
5.68 +
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/ukázka/kontakt.xml Sat Nov 17 23:05:59 2012 +0100
6.3 @@ -0,0 +1,66 @@
6.4 +<stránka
6.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
6.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
6.7 + <nadpis>Kontakt</nadpis>
6.8 + <perex>Kde nás najdete.</perex>
6.9 + <pořadí>70</pořadí>
6.10 + <text xmlns="http://www.w3.org/1999/xhtml">
6.11 + <p>
6.12 + Nejlépe se k nám dostanete pomocí vírníku (linka 42).
6.13 + </p>
6.14 + <p>
6.15 + <strong>Naše adresa:</strong><br/>
6.16 + <m:firma/><br/>
6.17 + Polární 128<br/>
6.18 + Tučňákova Lhota<br/>
6.19 + Česká republika
6.20 + </p>
6.21 +
6.22 + <h2>Organizační struktura</h2>
6.23 +
6.24 + <p>
6.25 + Zde je orgranizační struktura naší skvělé firmy:
6.26 + </p>
6.27 +
6.28 + <m:diagram nadpis="Naše organizační struktura">
6.29 + node [shape="box"];
6.30 +
6.31 + tovarnik [label="pan továrník\n(majitel)"];
6.32 + reditel [label="pan ředitel"];
6.33 + sekretarka [label="slečna sekretářka"];
6.34 + root [label="Linuxový guru"];
6.35 + architekt [label="Softwarový architekt"];
6.36 +
6.37 + tovarnik -> reditel;
6.38 + reditel -> sekretarka;
6.39 + reditel -> architekt;
6.40 + reditel -> root;
6.41 + </m:diagram>
6.42 +
6.43 + <h2>Procesy</h2>
6.44 +
6.45 + <p>
6.46 + Ve firmě máme spoustu procesů. Jeden z nich vypadá takto:
6.47 + </p>
6.48 +
6.49 + <m:diagram orientace="vodorovně">
6.50 + A -> B;
6.51 + B -> C;
6.52 + </m:diagram>
6.53 +
6.54 + <p>
6.55 + Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají.
6.56 + </p>
6.57 +
6.58 + <h2>Telefonní seznam</h2>
6.59 +
6.60 + <p>
6.61 + Můžete nám kdykoli zavolat:
6.62 + </p>
6.63 +
6.64 + <m:tabulka src="telefonní-seznam.csv"/>
6.65 +
6.66 + </text>
6.67 +
6.68 +</stránka>
6.69 +
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/ukázka/kočka-a-pes-oop.dot Sat Nov 17 23:05:59 2012 +0100
7.3 @@ -0,0 +1,18 @@
7.4 +digraph G {
7.5 + bgcolor="transparent";
7.6 +
7.7 +
7.8 + // Třídy:
7.9 + node [shape = "record"];
7.10 + Pes [label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"];
7.11 + Kočka [label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"];
7.12 + Zvíře [label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"];
7.13 +
7.14 +
7.15 + // Dědičnost:
7.16 + edge [arrowhead = "empty"];
7.17 +
7.18 + Pes -> Zvíře;
7.19 + Kočka -> Zvíře;
7.20 +}
7.21 +
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/ukázka/makra/firma.xsl Sat Nov 17 23:05:59 2012 +0100
8.3 @@ -0,0 +1,25 @@
8.4 +<?xml version="1.0" encoding="UTF-8"?>
8.5 +<xsl:stylesheet version="2.0"
8.6 + xmlns="http://www.w3.org/1999/xhtml"
8.7 + xmlns:h="http://www.w3.org/1999/xhtml"
8.8 + xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
8.9 + xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
8.10 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
8.11 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8.12 + xmlns:fn="http://www.w3.org/2005/xpath-functions"
8.13 + xmlns:svg="http://www.w3.org/2000/svg"
8.14 + xmlns:xs="http://www.w3.org/2001/XMLSchema"
8.15 + exclude-result-prefixes="fn h s k m xs">
8.16 +
8.17 + <!-- Vypíše název naší firmy: -->
8.18 + <xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template>
8.19 + <xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template> <!-- nominativ -->
8.20 + <xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template> <!-- genitiv -->
8.21 + <xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template> <!-- dativ -->
8.22 + <xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template> <!-- akuzativ -->
8.23 + <xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template> <!-- vokativ -->
8.24 + <xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template> <!-- lokál -->
8.25 + <xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template> <!-- instrumentál -->
8.26 +
8.27 +</xsl:stylesheet>
8.28 +
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/ukázka/makra/hg-verze.xsl Sat Nov 17 23:05:59 2012 +0100
9.3 @@ -0,0 +1,44 @@
9.4 +<?xml version="1.0" encoding="UTF-8"?>
9.5 +<xsl:stylesheet version="2.0"
9.6 + xmlns="http://www.w3.org/1999/xhtml"
9.7 + xmlns:h="http://www.w3.org/1999/xhtml"
9.8 + xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
9.9 + xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
9.10 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
9.11 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
9.12 + xmlns:fn="http://www.w3.org/2005/xpath-functions"
9.13 + xmlns:svg="http://www.w3.org/2000/svg"
9.14 + xmlns:xs="http://www.w3.org/2001/XMLSchema"
9.15 + exclude-result-prefixes="fn h s k m xs">
9.16 +
9.17 + <!-- Vypíše verze z verzovacího systému: -->
9.18 + <xsl:template match="m:hg-verze">
9.19 +
9.20 + <xsl:variable name="zadáníSkriptu">
9.21 + <m:skript jazyk="bash" výstup="xml">hg log --style xml</m:skript>
9.22 + </xsl:variable>
9.23 +
9.24 + <xsl:variable name="výstupSkriptu">
9.25 + <xsl:apply-templates select="$zadáníSkriptu/*"/>
9.26 + </xsl:variable>
9.27 +
9.28 + <table>
9.29 + <thead>
9.30 + <tr>
9.31 + <td>Číslo verze</td>
9.32 + <td>Datum vydání</td>
9.33 + </tr>
9.34 + </thead>
9.35 + <tbody style="text-align: right;">
9.36 + <xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
9.37 + <tr>
9.38 + <td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
9.39 + <td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
9.40 + </tr>
9.41 + </xsl:for-each>
9.42 + </tbody>
9.43 + </table>
9.44 + </xsl:template>
9.45 +
9.46 +</xsl:stylesheet>
9.47 +
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/ukázka/makra/měřák.xsl Sat Nov 17 23:05:59 2012 +0100
10.3 @@ -0,0 +1,33 @@
10.4 +<?xml version="1.0" encoding="UTF-8"?>
10.5 +<xsl:stylesheet version="2.0"
10.6 + xmlns="http://www.w3.org/1999/xhtml"
10.7 + xmlns:h="http://www.w3.org/1999/xhtml"
10.8 + xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
10.9 + xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
10.10 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
10.11 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10.12 + xmlns:fn="http://www.w3.org/2005/xpath-functions"
10.13 + xmlns:svg="http://www.w3.org/2000/svg"
10.14 + xmlns:xs="http://www.w3.org/2001/XMLSchema"
10.15 + exclude-result-prefixes="fn h s k m xs">
10.16 +
10.17 + <!-- Ukázka vlastního „makra“: -->
10.18 + <xsl:template match="m:měřák">
10.19 + <xsl:variable name="hodnota" select="number(@hodnota)"/>
10.20 + <xsl:variable name="šířkaGrafu" select="128"/>
10.21 + <xsl:choose>
10.22 + <xsl:when test="$hodnota >= 0 and $hodnota <= 100">
10.23 + <div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">
10.24 + <div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
10.25 + <p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
10.26 + <xsl:value-of select="@hodnota"/>/100
10.27 + </p>
10.28 + </div>
10.29 + </xsl:when>
10.30 + <xsl:otherwise>
10.31 + <xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
10.32 + </xsl:otherwise>
10.33 + </xsl:choose>
10.34 + </xsl:template>
10.35 +
10.36 +</xsl:stylesheet>
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/ukázka/matrixový-spořič.sh Sat Nov 17 23:05:59 2012 +0100
11.3 @@ -0,0 +1,16 @@
11.4 +#!/bin/bash
11.5 +# Matrixový spořič :-)
11.6 +
11.7 +case "$1" in
11.8 + start)
11.9 + echo -e "\033[22;32m";
11.10 + cat /dev/urandom | hexdump;
11.11 +;;
11.12 + stop)
11.13 + echo -e "\033[0m";
11.14 +;;
11.15 + *)
11.16 + $0 start;
11.17 +;;
11.18 +esac
11.19 +
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/ukázka/odkazy.xml Sat Nov 17 23:05:59 2012 +0100
12.3 @@ -0,0 +1,60 @@
12.4 +<stránka
12.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
12.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
12.7 + <nadpis>Odkazy</nadpis>
12.8 + <perex>Ukázka odkazů – interních, externích…</perex>
12.9 + <pořadí>60</pořadí>
12.10 +
12.11 + <text xmlns="http://www.w3.org/1999/xhtml">
12.12 +
12.13 + <p>Tady jsou nějaké naše odkazy. Lorem ipsum dolor sit amet, consectetur adipiscing elit<m:a href="16" typ="trac" style="text-decoration: none;">.</m:a> 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. Aliquam erat volutpat. Curabitur sed euismod nisl. 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. Aliquam erat volutpat. Curabitur sed euismod nisl.</p>
12.14 +
12.15 + <ul>
12.16 + <li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li>
12.17 + <li><m:a href="anonym@example.com" typ="email">Pan <em>Anonym</em></m:a> – obfuskovaný e-mail</li>
12.18 + <li>
12.19 + <m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a> – vyhledávání pomocí Seznamu
12.20 + <m:podČarou>Byl založen roku 1996 <m:a href="Ivo Lukačovič" typ="wiki">Ivem Lukačovičem</m:a>, a stal se prvním českým internetovým vyhledávačem v České republice.
12.21 + <m:podČarou>Alespoň tak to píšou na <m:a href="Seznam.cz" typ="wiki">Wikipedii</m:a>. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovat<m:podČarou>Což nedává až tak velký smysl, ale dělat to klidně můžete :-)</m:podČarou> do sebe.</m:podČarou>
12.22 + </m:podČarou>
12.23 + </li>
12.24 + <li><m:a href="GNU/Linux a tučňák Tux" typ="google"><abbr title="GNU's Not Unix! – GNU Není Unix!">GNU</abbr>/Linux a tučňák Tux</m:a> – vyhledávání pomocí Googlu</li>
12.25 + <li><m:a href="1855" typ="rfc"><em>Net</em>iketa</m:a> – internetový standard <abbr title="request for comments">RFC</abbr></li>
12.26 + <li><m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a> – encyklopedie Wikipedia – česky</li>
12.27 + <li><m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a> – encyklopedie Wikipedia – anglicky</li>
12.28 + </ul>
12.29 +
12.30 + <p>
12.31 + Podporované typy <m:a href="makro/a" typ="trac">odkazů</m:a> zapisujeme takto:
12.32 + </p>
12.33 +
12.34 + <m:pre jazyk="xml"><![CDATA[
12.35 +<m:a href="kontakt">Kontakt</m:a>
12.36 +<m:a href="anonym@example.com" typ="email">Pan Anonym</m:a>
12.37 +<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a>
12.38 +<m:a href="GNU/Linux a tučňák Tux" typ="google">GNU/Linux a tučňák Tux</m:a>
12.39 +<m:a href="1855" typ="rfc">Netiketa</m:a>
12.40 +<m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a>
12.41 +<m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a>
12.42 +]]></m:pre>
12.43 +
12.44 + <p>
12.45 + Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-)
12.46 + </p>
12.47 +
12.48 + <m:pre jazyk="xml"><![CDATA[
12.49 +<a href="http://example.com/">nějaká stránka</a>
12.50 +<a href="mailto:anonym@example.com">nějaký e-mail</a>
12.51 +]]></m:pre>
12.52 +
12.53 + <p>
12.54 + Uvnitř textu odkazů (ať už těch vložených pomocí <m:a href="makro" typ="trac">makra</m:a> nebo standardních z XHTML)
12.55 + můžeme klidně používat další makra nebo vkládat jiné značky
12.56 + – třeba obrázky nebo formátování
12.57 + – nemusíme se omezovat na prostý text!
12.58 + </p>
12.59 +
12.60 + </text>
12.61 +
12.62 +</stránka>
12.63 +
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/ukázka/produkty.xml Sat Nov 17 23:05:59 2012 +0100
13.3 @@ -0,0 +1,38 @@
13.4 +<stránka
13.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
13.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
13.7 + <nadpis>Produkty</nadpis>
13.8 + <perex>Co vyrábíme.</perex>
13.9 + <pořadí>20</pořadí>
13.10 +
13.11 + <text xmlns="http://www.w3.org/1999/xhtml">
13.12 +
13.13 + <p>Naše produkty jsou prostě úžasné. To, co vám slíbíme, vám nikdo jiný nemůže dát. 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>
13.14 + <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>
13.15 +
13.16 + <h2>Tučňák domácí</h2>
13.17 + <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis <m:a href="šachy">magna</m:a> sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
13.18 +
13.19 + <p>Vhodnost zvířete do domácnosti:</p>
13.20 + <m:měřák hodnota="95"/>
13.21 + <p><m:šifra>Tučňáky si prostě oblíbíte!</m:šifra></p>
13.22 +
13.23 + <h2>Panda malá</h2>
13.24 + <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Integer luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p>
13.25 + <p>Aliquam erat volutpat. Quisque vitae libero est. <m:šifra>Panda malá je menší než panda velká.</m:šifra> 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>
13.26 +
13.27 + <p>Vhodnost zvířete do domácnosti:</p>
13.28 + <m:měřák hodnota="80"/>
13.29 +
13.30 + <!--
13.31 + Můžeme vložit vycpávkový text Lorem Ipsum:
13.32 +
13.33 + <m:vycpávka odstavců="3"/>
13.34 +
13.35 + Pozor: v současné verzi se stahuje ze Sítě při každém generování.
13.36 + -->
13.37 +
13.38 + </text>
13.39 +
13.40 +</stránka>
13.41 +
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/ukázka/skriptování-proměnné.pl Sat Nov 17 23:05:59 2012 +0100
14.3 @@ -0,0 +1,17 @@
14.4 +#!/usr/bin/perl
14.5 +
14.6 +# Projde zdroják v javě a najde v něm,
14.7 +# jaké proměnné prostředí se nastavují pro běh skriptů
14.8 +# Výstup: tělo XHTML tabulky (řádky)
14.9 +
14.10 +use strict;
14.11 +use warnings;
14.12 +
14.13 +open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
14.14 +
14.15 +while (<JAVA>) {
14.16 + if (/"(.*)=".*\/\/\s+env:(.*)/) {
14.17 + print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
14.18 + }
14.19 +}
14.20 +
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/ukázka/skriptování.xml Sat Nov 17 23:05:59 2012 +0100
15.3 @@ -0,0 +1,358 @@
15.4 +<stránka
15.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
15.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
15.7 + <nadpis>Skriptování</nadpis>
15.8 + <perex>Na stránku můžeme vložit výstup skriptů.</perex>
15.9 + <pořadí>50</pořadí>
15.10 +
15.11 + <text xmlns="http://www.w3.org/1999/xhtml">
15.12 +
15.13 + <p>
15.14 + Na stránkách můžeme používat skripty.
15.15 + Spouští se při generování a jejich standardní výstup se vloží do stránky.
15.16 + Třeba doprostřed textu ostavce nebo do jiného elementu.
15.17 + </p>
15.18 + <p>
15.19 + Příklad:
15.20 + <em>
15.21 + Tyto stránky byly vygenerované v systému
15.22 + <span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
15.23 + </em>
15.24 + </p>
15.25 +
15.26 + <p>
15.27 + Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah –
15.28 + jak prostý text, tak i XHTML fragmenty.<m:podČarou>
15.29 + Zapíná se pomocí atributu <code>výstup="xhtml"</code> a generátor pak kontroluje správné formátování –
15.30 + nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami.
15.31 + Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (<code>m</code>).
15.32 + </m:podČarou>
15.33 + </p>
15.34 + <p>
15.35 + Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách,
15.36 + které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
15.37 + Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí
15.38 + (ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety).
15.39 + Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
15.40 + </p>
15.41 +
15.42 + <h2>Podporované jazyky</h2>
15.43 + <p>
15.44 + V současnosti jsou podporované tyto jazyky:
15.45 + </p>
15.46 +
15.47 + <table>
15.48 + <thead>
15.49 + <tr>
15.50 + <td>Jazyk</td>
15.51 + <td>Interpret</td>
15.52 + </tr>
15.53 + </thead>
15.54 + <tbody>
15.55 + <m:skript jazyk="perl" výstup="xhtml"><![CDATA[
15.56 +use strict;
15.57 +use warnings;
15.58 +
15.59 +open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
15.60 +
15.61 +while (<JAVA>) {
15.62 + if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
15.63 + print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n";
15.64 + }
15.65 +}
15.66 + ]]></m:skript>
15.67 + </tbody>
15.68 + </table>
15.69 +
15.70 + <h3>Perl – ukázka</h3>
15.71 + <p>Jazyky použité nebo citované na této stránce:</p>
15.72 + <!--
15.73 + Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
15.74 + ale toto je příklad na Perl :-)
15.75 + -->
15.76 + <pre><m:skript jazyk="perl"><![CDATA[
15.77 +use strict;
15.78 +use warnings;
15.79 +
15.80 +open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}) or die $!;
15.81 +my %skripty;
15.82 +
15.83 +while (<XML>) {
15.84 + if (/m:skript\s+jazyk="(\w+)"/) {
15.85 + $skripty{$1}++;
15.86 + }
15.87 +}
15.88 +
15.89 +for(keys(%skripty)) {
15.90 + print "$skripty{$_}×\t $_\n";
15.91 +}
15.92 + ]]></m:skript></pre>
15.93 +
15.94 + <h3>BASH – ukázka</h3>
15.95 + <pre><m:skript jazyk="bash"><![CDATA[
15.96 +echo -n "Právě je: ";
15.97 +date;
15.98 +echo -n "Operační systém: ";
15.99 +uname -o;
15.100 +echo -n "SHA-1 otisk zdrojáku této stránky: ";
15.101 +sha1sum "$XWG_STRANKA_SOUBOR" | cut -f 1 -d " ";
15.102 + ]]></m:skript></pre>
15.103 +
15.104 + <!--
15.105 + <h2>PHP</h2>
15.106 + <pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
15.107 +<?php
15.108 +phpinfo();
15.109 +?>
15.110 + ]]></m:skript></pre>
15.111 + -->
15.112 +
15.113 + <h2>Proměnné prostředí</h2>
15.114 + <p>
15.115 + Ve skriptech máme dostupné následující proměnné prostředí:
15.116 + </p>
15.117 +
15.118 + <table>
15.119 + <thead>
15.120 + <tr>
15.121 + <td>Proměnná</td>
15.122 + <td>Význam</td>
15.123 + </tr>
15.124 + </thead>
15.125 + <tbody>
15.126 + <!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. -->
15.127 + <m:skript jazyk="perl" výstup="xhtml" src="skriptování-proměnné.pl"/>
15.128 + </tbody>
15.129 + </table>
15.130 +
15.131 + <p>
15.132 + Kód:
15.133 + </p>
15.134 +
15.135 + <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
15.136 +echo "URI: $XWG_STRANKA_URI";
15.137 +echo "Soubor: $XWG_STRANKA_SOUBOR";
15.138 +echo "Nadpis: $XWG_STRANKA_NADPIS";
15.139 +echo "Perex: $XWG_STRANKA_PEREX";
15.140 +</m:skript>]]></m:pre>
15.141 +
15.142 + <p>nám vypíše:</p>
15.143 +
15.144 + <pre><m:skript jazyk="bash"><![CDATA[
15.145 +echo "URI: $XWG_STRANKA_URI" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
15.146 +echo "Soubor: $XWG_STRANKA_SOUBOR" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
15.147 +echo "Nadpis: $XWG_STRANKA_NADPIS";
15.148 +echo "Perex: $XWG_STRANKA_PEREX";
15.149 + ]]></m:skript></pre>
15.150 +
15.151 + <h2 id="makraZeSkriptů">Makra ze skriptů</h2>
15.152 + <p>
15.153 + XML generované skriptem může také obsahovat makra, která se následně interptetují.
15.154 + <m:skript jazyk="bash" výstup="xhtml"><![CDATA[
15.155 +echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-)
15.156 +echo 'echo "Takže můžeš skriptovat, když skriptuješ,";';
15.157 +echo '</m:skript>';
15.158 + ]]></m:skript>
15.159 + nebo dělat něco užitečnějšího.
15.160 + </p>
15.161 +
15.162 + <m:skript jazyk="perl" výstup="xhtml"><![CDATA[
15.163 +use strict;
15.164 +use warnings;
15.165 +
15.166 +my $adresar = "vstup/makra";
15.167 +
15.168 +print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
15.169 +print " node [shape=\"box\"];\n";
15.170 +print " koren [label=\"Uživatelská makra\"];\n";
15.171 +
15.172 +opendir(DIR, $adresar) or die $!;
15.173 +my $i = 0;
15.174 +while (readdir(DIR)) {
15.175 + next if (/^\./);
15.176 + # Měli bychom ošetřit zvláštní znaky v názvech souborů,
15.177 + # abychom nezpůsobili chybu GraphVizu.
15.178 + print " n$i [label=\"$_\"];\n";
15.179 + print " koren -> n$i;\n";
15.180 + $i++;
15.181 +}
15.182 +
15.183 +print "</m:diagram>";
15.184 +closedir(DIR);
15.185 + ]]></m:skript>
15.186 +
15.187 + <p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
15.188 +
15.189 + <m:pre jazyk="perl"><![CDATA[
15.190 +use strict;
15.191 +use warnings;
15.192 +
15.193 +my $adresar = "vstup/makra";
15.194 +
15.195 +print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
15.196 +print " node [shape=\"box\"];\n";
15.197 +print " koren [label=\"Uživatelská makra\"];\n";
15.198 +
15.199 +opendir(DIR, $adresar) or die $!;
15.200 +my $i = 0;
15.201 +while (readdir(DIR)) {
15.202 + next if (/^\./);
15.203 + # Měli bychom ošetřit zvláštní znaky v názvech souborů,
15.204 + # abychom nezpůsobili chybu GraphVizu.
15.205 + print " n$i [label=\"$_\"];\n";
15.206 + print " koren -> n$i;\n";
15.207 + $i++;
15.208 +}
15.209 +
15.210 +print "</m:diagram>";
15.211 +closedir(DIR);]]></m:pre>
15.212 +
15.213 + <p>
15.214 + Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xhtml"> … </m:skript>]]></code> do stránky.
15.215 + </p>
15.216 + <p>
15.217 + Známá chyba: ve skriptech zatím nefungují poznámky pod čarou (a není jisté, jestli kdy fungovat budou – pravděpodobně by to vyžadovalo vícefázové zpracování).
15.218 + </p>
15.219 +
15.220 + <h2>Makra ve skriptech</h2>
15.221 +
15.222 + <p>
15.223 + Uvnitř zdrojového kódu skriptu můžeme používat jiná makra.
15.224 + Např. tento kód:
15.225 + </p>
15.226 +
15.227 + <m:pre jazyk="xml"><![CDATA[<pre>
15.228 + <m:skript jazyk="perl">
15.229 + print "Náš podnik se jmenuje <m:firma/>";
15.230 + </m:skript>
15.231 +</pre>]]></m:pre>
15.232 +
15.233 + <p>
15.234 + nám vygeneruje:
15.235 + </p>
15.236 +
15.237 + <pre><m:skript jazyk="perl">
15.238 + print "Náš podnik se jmenuje <m:firma/>";
15.239 + </m:skript></pre>
15.240 +
15.241 + <p>
15.242 + Můžete si tak vytvořit makra pro opakující se části
15.243 + a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou>
15.244 + Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
15.245 + je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em>
15.246 + pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
15.247 + </m:podČarou>
15.248 + </p>
15.249 +
15.250 + <p>
15.251 + Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu
15.252 + – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy
15.253 + a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu.
15.254 + </p>
15.255 +
15.256 + <pre><m:skript jazyk="bash">
15.257 + echo "S naší <m:firma pád="7"/> budete jistě spokojeni!";
15.258 + echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
15.259 + </m:skript></pre>
15.260 +
15.261 + <p>
15.262 + Zdrojový kód:
15.263 + </p>
15.264 +
15.265 + <!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" -->
15.266 + <m:pre jazyk="xml"><![CDATA[<pre>
15.267 + <m:skript jazyk="bash">
15.268 + echo "S naší <m:firma pad="7"/> budete jistě spokojeni!";
15.269 + echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
15.270 + </m:skript>
15.271 +</pre>]]></m:pre>
15.272 +
15.273 + <p>
15.274 + Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text,
15.275 + který by šlo vložit přímo do XML stránky
15.276 + – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-)
15.277 + </p>
15.278 +
15.279 + <h2>Skripty v makrech</h2>
15.280 + <p>
15.281 + Uvnitř definic maker můžeme volat<m:podČarou>
15.282 + Ovšem trochu jiným způsobem, než ve stránkách –
15.283 + nacházíme se totiž v <em>programu</em> (XSL šablona definující makro)
15.284 + nikoli v <em>datovém souboru</em> (XML stránka).
15.285 + </m:podČarou>
15.286 + jiná makra – mj. skripty.
15.287 + Toho jsme využili v makru, které generuje tabulku verzí z mercurialu
15.288 + – ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT.
15.289 + </p>
15.290 +
15.291 + <m:hg-verze/>
15.292 +
15.293 + <p>
15.294 + Toto makro naleznete v souboru <code>vstup/makra/hg-verze.xsl</code>.
15.295 + </p>
15.296 +
15.297 + <h2>Vnořování maker</h2>
15.298 + <p>
15.299 + Trochu jiný případ je vnořování maker na stránce.
15.300 + Např. si chceme vypsat vybrané internetové služby:
15.301 + </p>
15.302 + <m:tabulka>
15.303 + <m:skript jazyk="perl"><![CDATA[
15.304 +use strict;
15.305 +use warnings;
15.306 +
15.307 +print "Port\tSlužba\tProtokol\n";
15.308 +open(S, "<", "/etc/services") or die $!;
15.309 +while (<S>) {
15.310 + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
15.311 + print "$2\t$1\t$3\n";
15.312 + }
15.313 +}
15.314 + ]]></m:skript>
15.315 + </m:tabulka>
15.316 +
15.317 + <p>
15.318 + Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky:
15.319 + </p>
15.320 +
15.321 + <m:pre jazyk="xml"><![CDATA[
15.322 +<m:tabulka>
15.323 + <m:skript jazyk="perl"><![CDATA[
15.324 + print "Port\tSlužba\tProtokol\n";
15.325 + open(S, "<", "/etc/services") or die $!;
15.326 + while (<S>) {
15.327 + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
15.328 + print "$2\t$1\t$3\n";
15.329 + }
15.330 + }
15.331 + ]]]]>><![CDATA[</m:skript>
15.332 +</m:tabulka>]]></m:pre>
15.333 +
15.334 + <p>
15.335 + Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory)
15.336 + a o převod na XHTML tabulku se postará XSL šablona.
15.337 + </p>
15.338 +
15.339 + <!--
15.340 + Nebo to taky můžeme napsat na jeden řádek:
15.341 + cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}'
15.342 + a vložit do tabulky jako BASH skript :-)
15.343 + -->
15.344 +
15.345 + <p>
15.346 + Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> –
15.347 + negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část.
15.348 + Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
15.349 + </p>
15.350 +
15.351 + <p>
15.352 + Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn
15.353 + pomocí značky <code><m:pre jazyk="…"/></code>.
15.354 + Toho využíváme na stránce <m:a href="zdrojáky">Zdrojové kódy</m:a> v případě SQL a XML ukázek.
15.355 + Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část.
15.356 + </p>
15.357 +
15.358 + </text>
15.359 +
15.360 +</stránka>
15.361 +
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/ukázka/služby.xml Sat Nov 17 23:05:59 2012 +0100
16.3 @@ -0,0 +1,42 @@
16.4 +<stránka
16.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
16.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
16.7 + <nadpis>Služby</nadpis>
16.8 + <perex>Co poskytujeme.</perex>
16.9 + <pořadí>30</pořadí>
16.10 +
16.11 + <text xmlns="http://www.w3.org/1999/xhtml">
16.12 +
16.13 + <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>
16.14 + <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>
16.15 +
16.16 + <h2>Pravidelné krmení ptáků</h2>
16.17 + <p>Fusce eu libero sit amet mauris molestie suscipit. <m:a href="java.lang.Integer" typ="javadoc">Integer</m:a> porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
16.18 +
16.19 + <m:tabulka>
16.20 + Velikost ptáka Cena za jedno krmení
16.21 + malý 250
16.22 + střední 500
16.23 + velký 1000
16.24 + </m:tabulka>
16.25 +
16.26 + <p>Dodáváme pouze prvotřídní krmivo.</p>
16.27 +
16.28 + <m:wiki>
16.29 +Pravidelné krmení savců
16.30 +-----------------------
16.31 +
16.32 +Tato služba je určena především pro pakoně a slony, vhodná je ale i pro jednorožce. _Vivamus nec dictum dolor_. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Markdown Integer luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.
16.33 +
16.34 +Aliquam erat volutpat. Quisque vitae libero est. Aliquam erat volutpat. [Integer](http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html) 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.
16.35 +
16.36 +Dodáváme pouze prvotřídní krmivo.
16.37 + </m:wiki>
16.38 +
16.39 + <h2>Jednorázová výměna podestýlky</h2>
16.40 + <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. <m:a href="java.lang.Integer" verze="6" typ="javadoc">Integer</m:a> luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p>
16.41 + <p>Účtováno hodinovou sazbou. Cena je závislá na míře zahnojení systému. Někdy je nutná úplně nová stavba klece nebo kotce.</p>
16.42 + </text>
16.43 +
16.44 +</stránka>
16.45 +
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/ukázka/telefonní-seznam.csv Sat Nov 17 23:05:59 2012 +0100
17.3 @@ -0,0 +1,6 @@
17.4 +Osoba;Místnost;Telefon
17.5 +pan továrník (majitel);1;+420 604 123456
17.6 +pan ředitel;2;+420 604 123654
17.7 +slečna sekretářka;2;+420 604 123465
17.8 +Linuxový guru;3;+420 604 123546
17.9 +Softwarový architekt;4;+420 604 123645
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/ukázka/web.conf Sat Nov 17 23:05:59 2012 +0100
18.3 @@ -0,0 +1,39 @@
18.4 +<web xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace">
18.5 + <název>Chovatelská stanice tučňáků</název>
18.6 + <podtitul>vše pro tučňáky</podtitul>
18.7 + <autor>
18.8 + <jméno>František Kučera</jméno>
18.9 + <email>nereknu_nechci_spam@example.com</email>
18.10 + </autor>
18.11 +
18.12 + <!-- TODO: XML Schéma a popisy v něm-->
18.13 +
18.14 + <!-- Základní URL našeho webu, mělo by končit lomítkem – pro generování RSS/Atom -->
18.15 + <url>https://frantovo.cz/projekty/xml-web-generator/demo1/</url>
18.16 +
18.17 + <!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom -->
18.18 + <uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid>
18.19 +
18.20 + <!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu -->
18.21 + <kod>PokusnyWeb123</kod>
18.22 +
18.23 + <!--
18.24 + Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky.
18.25 + Můžeme jich uvést libovolné množství.
18.26 + -->
18.27 + <css>css/styl.css</css>
18.28 + <css>css/syntaxe.css</css>
18.29 + <js>js/skript.js</js>
18.30 +
18.31 + <skriptování>
18.32 + <!--
18.33 + povolit – skripty se vykonají
18.34 + zakázat – skripty se nevykonají a dojde k chybě
18.35 + ignorovat – skripty se v tichosti přeskočí
18.36 + varovat – skripty se v přeskočí a na jejich místo se vloží varování – výchozí možnost
18.37 + vložit – místo výstupu skriptu se vloží jeho zdroják
18.38 + -->
18.39 + <režim>povolit</režim>
18.40 + </skriptování>
18.41 +</web>
18.42 +
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/ukázka/zdrojáky.xml Sat Nov 17 23:05:59 2012 +0100
19.3 @@ -0,0 +1,110 @@
19.4 +<stránka
19.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
19.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
19.7 + <nadpis>Zdrojové kódy</nadpis>
19.8 + <perex>Ukázka našich zdrojových kódů.</perex>
19.9 + <pořadí>40</pořadí>
19.10 +
19.11 + <text xmlns="http://www.w3.org/1999/xhtml">
19.12 +
19.13 + <p>Zde je malá ukázka našich zdrojových kódů. 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>
19.14 + <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="odkazy" title="Ukázka odkazů">sed orci</m:a> 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>
19.15 +
19.16 + <h2>C++</h2>
19.17 + <p>Ukázka převzatá ze stránky <a href="https://podnik.frantovo.cz/s/zdrojovy-kod">Zdrojový kód</a>:</p>
19.18 +
19.19 + <m:pre jazyk="cpp"><![CDATA[# include <iostream>
19.20 +using namespace std;
19.21 +
19.22 +int main(int argc, char *argv[]) {
19.23 +
19.24 + cout << "Chcete slyšet vtip?" << endl;
19.25 + char odpoved = cin.get();
19.26 + cin.get();
19.27 +
19.28 + if (odpoved == 'a') {
19.29 + cout
19.30 + << "Lidé se dělí do 10 skupin." << endl
19.31 + << "Na ty, kteří rozumějí binárnímu kódu, "
19.32 + << "a na ty ostatní." << endl;
19.33 + return 0;
19.34 + } else if (odpoved == 'n') {
19.35 + cout << "Dobře, tak ne." << endl;
19.36 + return 0;
19.37 + } else {
19.38 + cout
19.39 + << "Nerozumím odpovědi "
19.40 + << "– očekávám „ano“ nebo „ne“." << endl;
19.41 + return 1;
19.42 + }
19.43 +}]]></m:pre>
19.44 +
19.45 + <h2>Java</h2>
19.46 +
19.47 + <m:pre jazyk="java"><m:skript jazyk="bash">
19.48 + cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}';
19.49 + </m:skript></m:pre>
19.50 +
19.51 + <h2>XML</h2>
19.52 +
19.53 + <p>
19.54 + Zdroják aktuální stránky – <abbr title="diakritika byla odstraněna, protože v Pygmentize je chyba – neumí značky s diakritikou, přestože to je platné XML">upravený</abbr> a zkrácený pomocí <m:a href="skriptování">skriptu</m:a>:
19.55 + </p>
19.56 + <m:pre jazyk="xml"><m:skript jazyk="bash">
19.57 +# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být.
19.58 +# TODO: opravit to tam (zřejmě špatný regulární výraz).
19.59 +
19.60 +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8;
19.61 +echo -e "\t\t… zkráceno …";
19.62 +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4;
19.63 +
19.64 +# Případně:
19.65 +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8;
19.66 +# echo -e "\t\t… zkráceno …";
19.67 +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4;
19.68 + </m:skript></m:pre>
19.69 +
19.70 + <p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
19.71 +
19.72 + <h2>BASH</h2>
19.73 +
19.74 + <m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
19.75 +
19.76 + <h2>SQL</h2>
19.77 +
19.78 + <p>
19.79 + Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí <m:a href="skriptování">skriptu</m:a>,
19.80 + a poté zvýrazněn.
19.81 + </p>
19.82 +
19.83 + <m:pre jazyk="sql"><m:skript jazyk="perl"><![CDATA[
19.84 +use strict;
19.85 +use warnings;
19.86 +
19.87 +for (my $i = 0; $i < 10; $i++) {
19.88 + print "INSERT INTO tabulka VALUES ('abc $i', 'def ". $i*($i+1) . "', " . 2**$i . ");\n";
19.89 +}
19.90 + ]]></m:skript></m:pre>
19.91 +
19.92 + <h2>Chyby</h2>
19.93 +
19.94 + <p>Následující ukázky kódu nebudou zvýrazněné:</p>
19.95 +
19.96 + <m:pre jazyk="xxxxxxxx">Nepodporovaný jazyk → syntaxe nebude zvýrazněna <blee/></m:pre>
19.97 +
19.98 + <m:pre>#!/bin/bash
19.99 +# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí
19.100 +# <blee/></m:pre>
19.101 +
19.102 + <h2>Objekty</h2>
19.103 +
19.104 + <p>
19.105 + Při vývoji softwaru používáme <abbr title="objektově orientované programování">OOP</abbr>.
19.106 + </p>
19.107 +
19.108 + <m:diagram src="kočka-a-pes-oop.dot" nadpis="Třídy Kočka a Pes jsou potomkem třídy Zvíře"/>
19.109 +
19.110 + </text>
19.111 +
19.112 +</stránka>
19.113 +
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/ukázka/záhlaví.inc Sat Nov 17 23:05:59 2012 +0100
20.3 @@ -0,0 +1,10 @@
20.4 +<stránka
20.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
20.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
20.7 + <text xmlns="http://www.w3.org/1999/xhtml">
20.8 + <p class="logo">
20.9 + <m:a href="index" title="Klikněte pro přechod na úvodní stránku"><img src="grafika/logo.png" alt="XML Web generátor"/></m:a>
20.10 + </p>
20.11 + </text>
20.12 +</stránka>
20.13 +
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/ukázka/zápatí.inc Sat Nov 17 23:05:59 2012 +0100
21.3 @@ -0,0 +1,8 @@
21.4 +<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana">
21.5 + <text xmlns="http://www.w3.org/1999/xhtml">
21.6 + <p>
21.7 + Poháněno tučňákem. Vytvořeno pomocí <a href="https://trac.frantovo.cz/xml-web-generator/">XML Web generátoru</a>. Používá XML, XSLT, Ant a další dobroty.
21.8 + </p>
21.9 + </text>
21.10 +</stránka>
21.11 +
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/ukázka/šachy.xml Sat Nov 17 23:05:59 2012 +0100
22.3 @@ -0,0 +1,24 @@
22.4 +<stránka
22.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
22.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
22.7 + <nadpis>Šachy</nadpis>
22.8 + <perex>Královská hra.</perex>
22.9 +
22.10 + <text xmlns="http://www.w3.org/1999/xhtml">
22.11 +
22.12 + <m:tabulka>
22.13 + a b c d e f g h
22.14 + 8 ♖ ♘ ♗ ♔ ♕ ♗ ♘ ♖
22.15 + 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙
22.16 + 6
22.17 + 5
22.18 + 4
22.19 + 3
22.20 + 2 ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
22.21 + 1 ♜ ♞ ♝ ♚ ♛ ♝ ♞ ♜
22.22 + </m:tabulka>
22.23 +
22.24 + </text>
22.25 +
22.26 +</stránka>
22.27 +
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
23.2 +++ b/vstup Sat Nov 17 23:05:59 2012 +0100
23.3 @@ -0,0 +1,1 @@
23.4 +ukázka/
23.5 \ No newline at end of file
24.1 --- a/vstup/css/styl.css Sun Jul 08 12:55:27 2012 +0200
24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
24.3 @@ -1,205 +0,0 @@
24.4 -body {
24.5 - background-color: #3c3b37;
24.6 - font-family: sans-serif;
24.7 - text-align: center;
24.8 - font-size: 16px;
24.9 -}
24.10 -
24.11 -a img {
24.12 - border: none;
24.13 -}
24.14 -
24.15 -a:hover {
24.16 - text-shadow: 1px 1px 1px #eee;
24.17 -}
24.18 -a[href^="https://"]:hover {
24.19 - text-shadow: 1px 1px 1px #6f6;
24.20 -}
24.21 -a[href^="http://"]:hover {
24.22 - text-shadow: 1px 1px 1px #66f;
24.23 -}
24.24 -
24.25 -#tělo {
24.26 - width: 900px;
24.27 - text-align: left;
24.28 - margin: 0 auto;
24.29 - margin-top: 32px;
24.30 - margin-bottom: 32px;
24.31 - background-color: #77bed2;
24.32 - padding-left: 20px;
24.33 - padding-right: 20px;
24.34 - padding-top: 2px;
24.35 - padding-bottom: 2px;
24.36 - border-radius: 8px;
24.37 -}
24.38 -
24.39 -#nabídka {
24.40 - width: 10.3em;
24.41 - position: relative;
24.42 - left: -20px;
24.43 - top: -12px;
24.44 - background-color: #3c3b37;
24.45 - border-top-right-radius: 8px;
24.46 - border-bottom-right-radius: 8px;
24.47 - padding-top: 6px;
24.48 - padding-bottom: 6px;
24.49 - padding-left: 10px;
24.50 - list-style-type: none;
24.51 - float: left;
24.52 -}
24.53 -
24.54 -#nabídka a {
24.55 - color: white;
24.56 -}
24.57 -
24.58 -#nabídka a:hover {
24.59 - color: #77bed2;
24.60 - text-shadow: none;
24.61 -}
24.62 -
24.63 -#text {
24.64 - min-height: 400px;
24.65 -}
24.66 -
24.67 -#zápatí {
24.68 - font-size: small;
24.69 - text-align: center;
24.70 -}
24.71 -
24.72 -pre {
24.73 - background-color: #ddf;
24.74 - padding: 6px;
24.75 - border-radius: 4px;
24.76 - overflow: auto;
24.77 -
24.78 - -moz-tab-size: 4;
24.79 - -o-tab-size: 4;
24.80 - tab-size: 4;
24.81 -}
24.82 -
24.83 -.zdroják-ke-stažení {
24.84 - font-size: 60%;
24.85 - margin-top: -20px;
24.86 - padding-right: 0px;
24.87 - text-align: right;
24.88 -}
24.89 -.zdroják-ke-stažení span {
24.90 - background-color: #ddf;
24.91 - color: black;
24.92 - padding: 5px;
24.93 - border-radius: 0px 0px 4px 4px;
24.94 - padding-top: 0px;
24.95 - padding-bottom: 0px;
24.96 -}
24.97 -
24.98 -.zdroják-ke-stažení a {
24.99 - text-decoration: none
24.100 -}
24.101 -
24.102 -.diagram {
24.103 - background-color: #ddf;
24.104 - padding: 6px;
24.105 - border-radius: 4px;
24.106 - text-align: center;
24.107 - max-width: 100%;
24.108 - overflow: auto;
24.109 -}
24.110 -
24.111 -.diagram .nadpis {
24.112 - font-size: 60%;
24.113 - padding: 4px;
24.114 - margin-top: 6px;
24.115 - margin-bottom: -6px;
24.116 - margin-left: -6px;
24.117 - margin-right: -6px;
24.118 - background-color: #d0d0f0;
24.119 - border-radius: 0px 0px 4px 4px;
24.120 -}
24.121 -
24.122 -table {
24.123 - border-collapse:collapse;
24.124 - box-shadow: 3px 3px 3px grey;
24.125 - margin-top: 10px;
24.126 - margin-bottom: 10px;
24.127 -}
24.128 -td, th {
24.129 - border: 1px solid black;
24.130 - padding-top: 4px;
24.131 - padding-bottom: 4px;
24.132 - padding-left: 6px;
24.133 - padding-right: 6px;
24.134 - font-weight: normal;
24.135 -}
24.136 -td.číslo {
24.137 - text-align: right;
24.138 -}
24.139 -thead tr {
24.140 - background: grey;
24.141 - color:black;
24.142 -}
24.143 -tbody tr:hover {
24.144 - background-color: silver;
24.145 - color:black;
24.146 -}
24.147 -
24.148 -.rot13 span {
24.149 - color: gray;
24.150 - font-family: monospace;
24.151 -}
24.152 -
24.153 -.rot13 a {
24.154 - margin-left: -5px;
24.155 - color: green;
24.156 - text-decoration: none;
24.157 -}
24.158 -
24.159 -.rot13 a:hover {
24.160 - color: red;
24.161 -}
24.162 -
24.163 -sup, sub {
24.164 - vertical-align: 0;
24.165 - position: relative;
24.166 -}
24.167 -sup {
24.168 - bottom: 1ex;
24.169 -}
24.170 -sub {
24.171 - top: 0.8ex;
24.172 -}
24.173 -
24.174 -sup.podČarou-odkaz a {
24.175 - color: grey;
24.176 - text-decoration: none;
24.177 -}
24.178 -
24.179 -div.podČarou-poznámky {
24.180 - font-size: 66%;
24.181 - border-top: 1px solid grey;
24.182 - border-bottom: 1px solid grey;
24.183 - padding-left: 20px;
24.184 - padding-top: 4px;
24.185 - padding-bottom: 4px;
24.186 -}
24.187 -
24.188 -div.podČarou-poznámky p {
24.189 - margin-top: 2px;
24.190 - margin-bottom: 2px;
24.191 -}
24.192 -
24.193 -div.podČarou-poznámky a.podČarou-odkaz-zpět {
24.194 - color: black;
24.195 - text-decoration: none;
24.196 - margin-right: 4px;
24.197 -}
24.198 -
24.199 -
24.200 -blockquote {
24.201 - background-color: #ddf;
24.202 - padding-top: 3px;
24.203 - padding-bottom: 3px;
24.204 - padding-left: 16px;
24.205 - padding-right: 16px;
24.206 - border-radius: 4px;
24.207 -}
24.208 -
25.1 Binary file vstup/grafika/logo.png has changed
26.1 --- a/vstup/index.xml Sun Jul 08 12:55:27 2012 +0200
26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
26.3 @@ -1,21 +0,0 @@
26.4 -<stránka
26.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
26.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
26.7 -
26.8 - <nadpis>Chovatelská stanice</nadpis>
26.9 - <perex>Úvodní stránka našeho webu.</perex>
26.10 - <pořadí>10</pořadí>
26.11 -
26.12 - <text xmlns="http://www.w3.org/1999/xhtml">
26.13 - <p>
26.14 - Vítejte na našich stránkách :-)
26.15 - Jsme chovatelská stanice zaměřená na chov tučňáků.<m:podČarou>Jsou to opravdu moc pěkná zvířata.</m:podČarou>
26.16 -
26.17 - 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.
26.18 - </p>
26.19 - <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="služby">služby</m:a><m:podČarou>Tam se určitě podívejte!</m:podČarou> 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>
26.20 - <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
26.21 - </text>
26.22 -
26.23 -</stránka>
26.24 -
27.1 --- a/vstup/js/skript.js Sun Jul 08 12:55:27 2012 +0200
27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
27.3 @@ -1,65 +0,0 @@
27.4 -/**
27.5 - * XML Web generátor – program na generování webových stránek
27.6 - * Copyright © 2012 František Kučera (frantovo.cz)
27.7 - *
27.8 - * This program is free software: you can redistribute it and/or modify
27.9 - * it under the terms of the GNU General Public License as published by
27.10 - * the Free Software Foundation, either version 3 of the License, or
27.11 - * (at your option) any later version.
27.12 - *
27.13 - * This program is distributed in the hope that it will be useful,
27.14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
27.15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27.16 - * GNU General Public License for more details.
27.17 - *
27.18 - * You should have received a copy of the GNU General Public License
27.19 - * along with this program. If not, see <http://www.gnu.org/licenses/>.
27.20 - */
27.21 -
27.22 -/**
27.23 - * XML Web generátor – jmenný prostor
27.24 - */
27.25 -var xwg = {
27.26 - /**
27.27 - * Zašifruje/dešifruje obsah elementu pomocí Rot13.
27.28 - * @param id ID elementu, jehož text chceme změnit.
27.29 - */
27.30 - rot13: function(id) {
27.31 - var e = document.getElementById(id);
27.32 - e.textContent = e.textContent.rot13();
27.33 - },
27.34 -
27.35 - /**
27.36 - * Vloží klikatelný odkaz.
27.37 - * @param id ID span elementu obsahujícího data
27.38 - */
27.39 - odkazNaElektronickouPoštu: function(id) {
27.40 - var spanČesky = document.getElementById(id);
27.41 - var spanObsah = document.getElementById(id + "b");
27.42 - var česky = spanČesky.innerHTML;
27.43 - var adresa = česky.replace(" zavináč ", "@").replace(" tečka ",".");
27.44 -
27.45 - var odkaz = document.createElement("a");
27.46 - odkaz.href = "mailto:" + adresa;
27.47 - if (spanObsah.innerHTML.length > 0) {
27.48 - odkaz.innerHTML = spanObsah.innerHTML;
27.49 - } else {
27.50 - odkaz.innerHTML = adresa;
27.51 - }
27.52 -
27.53 - spanČesky.parentNode.insertBefore(odkaz, spanČesky);
27.54 - spanČesky.parentNode.removeChild(spanČesky);
27.55 - spanObsah.parentNode.removeChild(spanObsah);
27.56 - },
27.57 -
27.58 -};
27.59 -
27.60 -/**
27.61 - * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13
27.62 - */
27.63 -String.prototype.rot13 = function() {
27.64 - return this.replace(/[a-zA-Z]/g, function(z) {
27.65 - return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
27.66 - });
27.67 -};
27.68 -
28.1 --- a/vstup/kontakt.xml Sun Jul 08 12:55:27 2012 +0200
28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
28.3 @@ -1,66 +0,0 @@
28.4 -<stránka
28.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
28.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
28.7 - <nadpis>Kontakt</nadpis>
28.8 - <perex>Kde nás najdete.</perex>
28.9 - <pořadí>70</pořadí>
28.10 - <text xmlns="http://www.w3.org/1999/xhtml">
28.11 - <p>
28.12 - Nejlépe se k nám dostanete pomocí vírníku (linka 42).
28.13 - </p>
28.14 - <p>
28.15 - <strong>Naše adresa:</strong><br/>
28.16 - <m:firma/><br/>
28.17 - Polární 128<br/>
28.18 - Tučňákova Lhota<br/>
28.19 - Česká republika
28.20 - </p>
28.21 -
28.22 - <h2>Organizační struktura</h2>
28.23 -
28.24 - <p>
28.25 - Zde je orgranizační struktura naší skvělé firmy:
28.26 - </p>
28.27 -
28.28 - <m:diagram nadpis="Naše organizační struktura">
28.29 - node [shape="box"];
28.30 -
28.31 - tovarnik [label="pan továrník\n(majitel)"];
28.32 - reditel [label="pan ředitel"];
28.33 - sekretarka [label="slečna sekretářka"];
28.34 - root [label="Linuxový guru"];
28.35 - architekt [label="Softwarový architekt"];
28.36 -
28.37 - tovarnik -> reditel;
28.38 - reditel -> sekretarka;
28.39 - reditel -> architekt;
28.40 - reditel -> root;
28.41 - </m:diagram>
28.42 -
28.43 - <h2>Procesy</h2>
28.44 -
28.45 - <p>
28.46 - Ve firmě máme spoustu procesů. Jeden z nich vypadá takto:
28.47 - </p>
28.48 -
28.49 - <m:diagram orientace="vodorovně">
28.50 - A -> B;
28.51 - B -> C;
28.52 - </m:diagram>
28.53 -
28.54 - <p>
28.55 - Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají.
28.56 - </p>
28.57 -
28.58 - <h2>Telefonní seznam</h2>
28.59 -
28.60 - <p>
28.61 - Můžete nám kdykoli zavolat:
28.62 - </p>
28.63 -
28.64 - <m:tabulka src="telefonní-seznam.csv"/>
28.65 -
28.66 - </text>
28.67 -
28.68 -</stránka>
28.69 -
29.1 --- a/vstup/kočka-a-pes-oop.dot Sun Jul 08 12:55:27 2012 +0200
29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
29.3 @@ -1,18 +0,0 @@
29.4 -digraph G {
29.5 - bgcolor="transparent";
29.6 -
29.7 -
29.8 - // Třídy:
29.9 - node [shape = "record"];
29.10 - Pes [label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"];
29.11 - Kočka [label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"];
29.12 - Zvíře [label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"];
29.13 -
29.14 -
29.15 - // Dědičnost:
29.16 - edge [arrowhead = "empty"];
29.17 -
29.18 - Pes -> Zvíře;
29.19 - Kočka -> Zvíře;
29.20 -}
29.21 -
30.1 --- a/vstup/makra/firma.xsl Sun Jul 08 12:55:27 2012 +0200
30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
30.3 @@ -1,25 +0,0 @@
30.4 -<?xml version="1.0" encoding="UTF-8"?>
30.5 -<xsl:stylesheet version="2.0"
30.6 - xmlns="http://www.w3.org/1999/xhtml"
30.7 - xmlns:h="http://www.w3.org/1999/xhtml"
30.8 - xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
30.9 - xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
30.10 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
30.11 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
30.12 - xmlns:fn="http://www.w3.org/2005/xpath-functions"
30.13 - xmlns:svg="http://www.w3.org/2000/svg"
30.14 - xmlns:xs="http://www.w3.org/2001/XMLSchema"
30.15 - exclude-result-prefixes="fn h s k m xs">
30.16 -
30.17 - <!-- Vypíše název naší firmy: -->
30.18 - <xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template>
30.19 - <xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template> <!-- nominativ -->
30.20 - <xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template> <!-- genitiv -->
30.21 - <xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template> <!-- dativ -->
30.22 - <xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template> <!-- akuzativ -->
30.23 - <xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template> <!-- vokativ -->
30.24 - <xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template> <!-- lokál -->
30.25 - <xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template> <!-- instrumentál -->
30.26 -
30.27 -</xsl:stylesheet>
30.28 -
31.1 --- a/vstup/makra/hg-verze.xsl Sun Jul 08 12:55:27 2012 +0200
31.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
31.3 @@ -1,44 +0,0 @@
31.4 -<?xml version="1.0" encoding="UTF-8"?>
31.5 -<xsl:stylesheet version="2.0"
31.6 - xmlns="http://www.w3.org/1999/xhtml"
31.7 - xmlns:h="http://www.w3.org/1999/xhtml"
31.8 - xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
31.9 - xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
31.10 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
31.11 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
31.12 - xmlns:fn="http://www.w3.org/2005/xpath-functions"
31.13 - xmlns:svg="http://www.w3.org/2000/svg"
31.14 - xmlns:xs="http://www.w3.org/2001/XMLSchema"
31.15 - exclude-result-prefixes="fn h s k m xs">
31.16 -
31.17 - <!-- Vypíše verze z verzovacího systému: -->
31.18 - <xsl:template match="m:hg-verze">
31.19 -
31.20 - <xsl:variable name="zadáníSkriptu">
31.21 - <m:skript jazyk="bash" výstup="xml">hg log --style xml</m:skript>
31.22 - </xsl:variable>
31.23 -
31.24 - <xsl:variable name="výstupSkriptu">
31.25 - <xsl:apply-templates select="$zadáníSkriptu/*"/>
31.26 - </xsl:variable>
31.27 -
31.28 - <table>
31.29 - <thead>
31.30 - <tr>
31.31 - <td>Číslo verze</td>
31.32 - <td>Datum vydání</td>
31.33 - </tr>
31.34 - </thead>
31.35 - <tbody style="text-align: right;">
31.36 - <xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
31.37 - <tr>
31.38 - <td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
31.39 - <td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
31.40 - </tr>
31.41 - </xsl:for-each>
31.42 - </tbody>
31.43 - </table>
31.44 - </xsl:template>
31.45 -
31.46 -</xsl:stylesheet>
31.47 -
32.1 --- a/vstup/makra/měřák.xsl Sun Jul 08 12:55:27 2012 +0200
32.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
32.3 @@ -1,33 +0,0 @@
32.4 -<?xml version="1.0" encoding="UTF-8"?>
32.5 -<xsl:stylesheet version="2.0"
32.6 - xmlns="http://www.w3.org/1999/xhtml"
32.7 - xmlns:h="http://www.w3.org/1999/xhtml"
32.8 - xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
32.9 - xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
32.10 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
32.11 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
32.12 - xmlns:fn="http://www.w3.org/2005/xpath-functions"
32.13 - xmlns:svg="http://www.w3.org/2000/svg"
32.14 - xmlns:xs="http://www.w3.org/2001/XMLSchema"
32.15 - exclude-result-prefixes="fn h s k m xs">
32.16 -
32.17 - <!-- Ukázka vlastního „makra“: -->
32.18 - <xsl:template match="m:měřák">
32.19 - <xsl:variable name="hodnota" select="number(@hodnota)"/>
32.20 - <xsl:variable name="šířkaGrafu" select="128"/>
32.21 - <xsl:choose>
32.22 - <xsl:when test="$hodnota >= 0 and $hodnota <= 100">
32.23 - <div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">
32.24 - <div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
32.25 - <p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
32.26 - <xsl:value-of select="@hodnota"/>/100
32.27 - </p>
32.28 - </div>
32.29 - </xsl:when>
32.30 - <xsl:otherwise>
32.31 - <xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
32.32 - </xsl:otherwise>
32.33 - </xsl:choose>
32.34 - </xsl:template>
32.35 -
32.36 -</xsl:stylesheet>
33.1 --- a/vstup/matrixový-spořič.sh Sun Jul 08 12:55:27 2012 +0200
33.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
33.3 @@ -1,16 +0,0 @@
33.4 -#!/bin/bash
33.5 -# Matrixový spořič :-)
33.6 -
33.7 -case "$1" in
33.8 - start)
33.9 - echo -e "\033[22;32m";
33.10 - cat /dev/urandom | hexdump;
33.11 -;;
33.12 - stop)
33.13 - echo -e "\033[0m";
33.14 -;;
33.15 - *)
33.16 - $0 start;
33.17 -;;
33.18 -esac
33.19 -
34.1 --- a/vstup/odkazy.xml Sun Jul 08 12:55:27 2012 +0200
34.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
34.3 @@ -1,60 +0,0 @@
34.4 -<stránka
34.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
34.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
34.7 - <nadpis>Odkazy</nadpis>
34.8 - <perex>Ukázka odkazů – interních, externích…</perex>
34.9 - <pořadí>60</pořadí>
34.10 -
34.11 - <text xmlns="http://www.w3.org/1999/xhtml">
34.12 -
34.13 - <p>Tady jsou nějaké naše odkazy. Lorem ipsum dolor sit amet, consectetur adipiscing elit<m:a href="16" typ="trac" style="text-decoration: none;">.</m:a> 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. Aliquam erat volutpat. Curabitur sed euismod nisl. 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. Aliquam erat volutpat. Curabitur sed euismod nisl.</p>
34.14 -
34.15 - <ul>
34.16 - <li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li>
34.17 - <li><m:a href="anonym@example.com" typ="email">Pan <em>Anonym</em></m:a> – obfuskovaný e-mail</li>
34.18 - <li>
34.19 - <m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a> – vyhledávání pomocí Seznamu
34.20 - <m:podČarou>Byl založen roku 1996 <m:a href="Ivo Lukačovič" typ="wiki">Ivem Lukačovičem</m:a>, a stal se prvním českým internetovým vyhledávačem v České republice.
34.21 - <m:podČarou>Alespoň tak to píšou na <m:a href="Seznam.cz" typ="wiki">Wikipedii</m:a>. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovat<m:podČarou>Což nedává až tak velký smysl, ale dělat to klidně můžete :-)</m:podČarou> do sebe.</m:podČarou>
34.22 - </m:podČarou>
34.23 - </li>
34.24 - <li><m:a href="GNU/Linux a tučňák Tux" typ="google"><abbr title="GNU's Not Unix! – GNU Není Unix!">GNU</abbr>/Linux a tučňák Tux</m:a> – vyhledávání pomocí Googlu</li>
34.25 - <li><m:a href="1855" typ="rfc"><em>Net</em>iketa</m:a> – internetový standard <abbr title="request for comments">RFC</abbr></li>
34.26 - <li><m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a> – encyklopedie Wikipedia – česky</li>
34.27 - <li><m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a> – encyklopedie Wikipedia – anglicky</li>
34.28 - </ul>
34.29 -
34.30 - <p>
34.31 - Podporované typy <m:a href="makro/a" typ="trac">odkazů</m:a> zapisujeme takto:
34.32 - </p>
34.33 -
34.34 - <m:pre jazyk="xml"><![CDATA[
34.35 -<m:a href="kontakt">Kontakt</m:a>
34.36 -<m:a href="anonym@example.com" typ="email">Pan Anonym</m:a>
34.37 -<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a>
34.38 -<m:a href="GNU/Linux a tučňák Tux" typ="google">GNU/Linux a tučňák Tux</m:a>
34.39 -<m:a href="1855" typ="rfc">Netiketa</m:a>
34.40 -<m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a>
34.41 -<m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a>
34.42 -]]></m:pre>
34.43 -
34.44 - <p>
34.45 - Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-)
34.46 - </p>
34.47 -
34.48 - <m:pre jazyk="xml"><![CDATA[
34.49 -<a href="http://example.com/">nějaká stránka</a>
34.50 -<a href="mailto:anonym@example.com">nějaký e-mail</a>
34.51 -]]></m:pre>
34.52 -
34.53 - <p>
34.54 - Uvnitř textu odkazů (ať už těch vložených pomocí <m:a href="makro" typ="trac">makra</m:a> nebo standardních z XHTML)
34.55 - můžeme klidně používat další makra nebo vkládat jiné značky
34.56 - – třeba obrázky nebo formátování
34.57 - – nemusíme se omezovat na prostý text!
34.58 - </p>
34.59 -
34.60 - </text>
34.61 -
34.62 -</stránka>
34.63 -
35.1 --- a/vstup/produkty.xml Sun Jul 08 12:55:27 2012 +0200
35.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
35.3 @@ -1,38 +0,0 @@
35.4 -<stránka
35.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
35.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
35.7 - <nadpis>Produkty</nadpis>
35.8 - <perex>Co vyrábíme.</perex>
35.9 - <pořadí>20</pořadí>
35.10 -
35.11 - <text xmlns="http://www.w3.org/1999/xhtml">
35.12 -
35.13 - <p>Naše produkty jsou prostě úžasné. To, co vám slíbíme, vám nikdo jiný nemůže dát. 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>
35.14 - <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>
35.15 -
35.16 - <h2>Tučňák domácí</h2>
35.17 - <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis <m:a href="šachy">magna</m:a> sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
35.18 -
35.19 - <p>Vhodnost zvířete do domácnosti:</p>
35.20 - <m:měřák hodnota="95"/>
35.21 - <p><m:šifra>Tučňáky si prostě oblíbíte!</m:šifra></p>
35.22 -
35.23 - <h2>Panda malá</h2>
35.24 - <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Integer luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p>
35.25 - <p>Aliquam erat volutpat. Quisque vitae libero est. <m:šifra>Panda malá je menší než panda velká.</m:šifra> 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>
35.26 -
35.27 - <p>Vhodnost zvířete do domácnosti:</p>
35.28 - <m:měřák hodnota="80"/>
35.29 -
35.30 - <!--
35.31 - Můžeme vložit vycpávkový text Lorem Ipsum:
35.32 -
35.33 - <m:vycpávka odstavců="3"/>
35.34 -
35.35 - Pozor: v současné verzi se stahuje ze Sítě při každém generování.
35.36 - -->
35.37 -
35.38 - </text>
35.39 -
35.40 -</stránka>
35.41 -
36.1 --- a/vstup/skriptování-proměnné.pl Sun Jul 08 12:55:27 2012 +0200
36.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
36.3 @@ -1,17 +0,0 @@
36.4 -#!/usr/bin/perl
36.5 -
36.6 -# Projde zdroják v javě a najde v něm,
36.7 -# jaké proměnné prostředí se nastavují pro běh skriptů
36.8 -# Výstup: tělo XHTML tabulky (řádky)
36.9 -
36.10 -use strict;
36.11 -use warnings;
36.12 -
36.13 -open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
36.14 -
36.15 -while (<JAVA>) {
36.16 - if (/"(.*)=".*\/\/\s+env:(.*)/) {
36.17 - print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
36.18 - }
36.19 -}
36.20 -
37.1 --- a/vstup/skriptování.xml Sun Jul 08 12:55:27 2012 +0200
37.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
37.3 @@ -1,358 +0,0 @@
37.4 -<stránka
37.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
37.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
37.7 - <nadpis>Skriptování</nadpis>
37.8 - <perex>Na stránku můžeme vložit výstup skriptů.</perex>
37.9 - <pořadí>50</pořadí>
37.10 -
37.11 - <text xmlns="http://www.w3.org/1999/xhtml">
37.12 -
37.13 - <p>
37.14 - Na stránkách můžeme používat skripty.
37.15 - Spouští se při generování a jejich standardní výstup se vloží do stránky.
37.16 - Třeba doprostřed textu ostavce nebo do jiného elementu.
37.17 - </p>
37.18 - <p>
37.19 - Příklad:
37.20 - <em>
37.21 - Tyto stránky byly vygenerované v systému
37.22 - <span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
37.23 - </em>
37.24 - </p>
37.25 -
37.26 - <p>
37.27 - Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah –
37.28 - jak prostý text, tak i XHTML fragmenty.<m:podČarou>
37.29 - Zapíná se pomocí atributu <code>výstup="xhtml"</code> a generátor pak kontroluje správné formátování –
37.30 - nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami.
37.31 - Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (<code>m</code>).
37.32 - </m:podČarou>
37.33 - </p>
37.34 - <p>
37.35 - Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách,
37.36 - které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
37.37 - Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí
37.38 - (ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety).
37.39 - Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
37.40 - </p>
37.41 -
37.42 - <h2>Podporované jazyky</h2>
37.43 - <p>
37.44 - V současnosti jsou podporované tyto jazyky:
37.45 - </p>
37.46 -
37.47 - <table>
37.48 - <thead>
37.49 - <tr>
37.50 - <td>Jazyk</td>
37.51 - <td>Interpret</td>
37.52 - </tr>
37.53 - </thead>
37.54 - <tbody>
37.55 - <m:skript jazyk="perl" výstup="xhtml"><![CDATA[
37.56 -use strict;
37.57 -use warnings;
37.58 -
37.59 -open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
37.60 -
37.61 -while (<JAVA>) {
37.62 - if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
37.63 - print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n";
37.64 - }
37.65 -}
37.66 - ]]></m:skript>
37.67 - </tbody>
37.68 - </table>
37.69 -
37.70 - <h3>Perl – ukázka</h3>
37.71 - <p>Jazyky použité nebo citované na této stránce:</p>
37.72 - <!--
37.73 - Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
37.74 - ale toto je příklad na Perl :-)
37.75 - -->
37.76 - <pre><m:skript jazyk="perl"><![CDATA[
37.77 -use strict;
37.78 -use warnings;
37.79 -
37.80 -open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}) or die $!;
37.81 -my %skripty;
37.82 -
37.83 -while (<XML>) {
37.84 - if (/m:skript\s+jazyk="(\w+)"/) {
37.85 - $skripty{$1}++;
37.86 - }
37.87 -}
37.88 -
37.89 -for(keys(%skripty)) {
37.90 - print "$skripty{$_}×\t $_\n";
37.91 -}
37.92 - ]]></m:skript></pre>
37.93 -
37.94 - <h3>BASH – ukázka</h3>
37.95 - <pre><m:skript jazyk="bash"><![CDATA[
37.96 -echo -n "Právě je: ";
37.97 -date;
37.98 -echo -n "Operační systém: ";
37.99 -uname -o;
37.100 -echo -n "SHA-1 otisk zdrojáku této stránky: ";
37.101 -sha1sum "$XWG_STRANKA_SOUBOR" | cut -f 1 -d " ";
37.102 - ]]></m:skript></pre>
37.103 -
37.104 - <!--
37.105 - <h2>PHP</h2>
37.106 - <pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
37.107 -<?php
37.108 -phpinfo();
37.109 -?>
37.110 - ]]></m:skript></pre>
37.111 - -->
37.112 -
37.113 - <h2>Proměnné prostředí</h2>
37.114 - <p>
37.115 - Ve skriptech máme dostupné následující proměnné prostředí:
37.116 - </p>
37.117 -
37.118 - <table>
37.119 - <thead>
37.120 - <tr>
37.121 - <td>Proměnná</td>
37.122 - <td>Význam</td>
37.123 - </tr>
37.124 - </thead>
37.125 - <tbody>
37.126 - <!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. -->
37.127 - <m:skript jazyk="perl" výstup="xhtml" src="skriptování-proměnné.pl"/>
37.128 - </tbody>
37.129 - </table>
37.130 -
37.131 - <p>
37.132 - Kód:
37.133 - </p>
37.134 -
37.135 - <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
37.136 -echo "URI: $XWG_STRANKA_URI";
37.137 -echo "Soubor: $XWG_STRANKA_SOUBOR";
37.138 -echo "Nadpis: $XWG_STRANKA_NADPIS";
37.139 -echo "Perex: $XWG_STRANKA_PEREX";
37.140 -</m:skript>]]></m:pre>
37.141 -
37.142 - <p>nám vypíše:</p>
37.143 -
37.144 - <pre><m:skript jazyk="bash"><![CDATA[
37.145 -echo "URI: $XWG_STRANKA_URI" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
37.146 -echo "Soubor: $XWG_STRANKA_SOUBOR" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
37.147 -echo "Nadpis: $XWG_STRANKA_NADPIS";
37.148 -echo "Perex: $XWG_STRANKA_PEREX";
37.149 - ]]></m:skript></pre>
37.150 -
37.151 - <h2 id="makraZeSkriptů">Makra ze skriptů</h2>
37.152 - <p>
37.153 - XML generované skriptem může také obsahovat makra, která se následně interptetují.
37.154 - <m:skript jazyk="bash" výstup="xhtml"><![CDATA[
37.155 -echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-)
37.156 -echo 'echo "Takže můžeš skriptovat, když skriptuješ,";';
37.157 -echo '</m:skript>';
37.158 - ]]></m:skript>
37.159 - nebo dělat něco užitečnějšího.
37.160 - </p>
37.161 -
37.162 - <m:skript jazyk="perl" výstup="xhtml"><![CDATA[
37.163 -use strict;
37.164 -use warnings;
37.165 -
37.166 -my $adresar = "vstup/makra";
37.167 -
37.168 -print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
37.169 -print " node [shape=\"box\"];\n";
37.170 -print " koren [label=\"Uživatelská makra\"];\n";
37.171 -
37.172 -opendir(DIR, $adresar) or die $!;
37.173 -my $i = 0;
37.174 -while (readdir(DIR)) {
37.175 - next if (/^\./);
37.176 - # Měli bychom ošetřit zvláštní znaky v názvech souborů,
37.177 - # abychom nezpůsobili chybu GraphVizu.
37.178 - print " n$i [label=\"$_\"];\n";
37.179 - print " koren -> n$i;\n";
37.180 - $i++;
37.181 -}
37.182 -
37.183 -print "</m:diagram>";
37.184 -closedir(DIR);
37.185 - ]]></m:skript>
37.186 -
37.187 - <p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
37.188 -
37.189 - <m:pre jazyk="perl"><![CDATA[
37.190 -use strict;
37.191 -use warnings;
37.192 -
37.193 -my $adresar = "vstup/makra";
37.194 -
37.195 -print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
37.196 -print " node [shape=\"box\"];\n";
37.197 -print " koren [label=\"Uživatelská makra\"];\n";
37.198 -
37.199 -opendir(DIR, $adresar) or die $!;
37.200 -my $i = 0;
37.201 -while (readdir(DIR)) {
37.202 - next if (/^\./);
37.203 - # Měli bychom ošetřit zvláštní znaky v názvech souborů,
37.204 - # abychom nezpůsobili chybu GraphVizu.
37.205 - print " n$i [label=\"$_\"];\n";
37.206 - print " koren -> n$i;\n";
37.207 - $i++;
37.208 -}
37.209 -
37.210 -print "</m:diagram>";
37.211 -closedir(DIR);]]></m:pre>
37.212 -
37.213 - <p>
37.214 - Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xhtml"> … </m:skript>]]></code> do stránky.
37.215 - </p>
37.216 - <p>
37.217 - Známá chyba: ve skriptech zatím nefungují poznámky pod čarou (a není jisté, jestli kdy fungovat budou – pravděpodobně by to vyžadovalo vícefázové zpracování).
37.218 - </p>
37.219 -
37.220 - <h2>Makra ve skriptech</h2>
37.221 -
37.222 - <p>
37.223 - Uvnitř zdrojového kódu skriptu můžeme používat jiná makra.
37.224 - Např. tento kód:
37.225 - </p>
37.226 -
37.227 - <m:pre jazyk="xml"><![CDATA[<pre>
37.228 - <m:skript jazyk="perl">
37.229 - print "Náš podnik se jmenuje <m:firma/>";
37.230 - </m:skript>
37.231 -</pre>]]></m:pre>
37.232 -
37.233 - <p>
37.234 - nám vygeneruje:
37.235 - </p>
37.236 -
37.237 - <pre><m:skript jazyk="perl">
37.238 - print "Náš podnik se jmenuje <m:firma/>";
37.239 - </m:skript></pre>
37.240 -
37.241 - <p>
37.242 - Můžete si tak vytvořit makra pro opakující se části
37.243 - a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou>
37.244 - Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
37.245 - je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em>
37.246 - pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
37.247 - </m:podČarou>
37.248 - </p>
37.249 -
37.250 - <p>
37.251 - Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu
37.252 - – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy
37.253 - a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu.
37.254 - </p>
37.255 -
37.256 - <pre><m:skript jazyk="bash">
37.257 - echo "S naší <m:firma pád="7"/> budete jistě spokojeni!";
37.258 - echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
37.259 - </m:skript></pre>
37.260 -
37.261 - <p>
37.262 - Zdrojový kód:
37.263 - </p>
37.264 -
37.265 - <!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" -->
37.266 - <m:pre jazyk="xml"><![CDATA[<pre>
37.267 - <m:skript jazyk="bash">
37.268 - echo "S naší <m:firma pad="7"/> budete jistě spokojeni!";
37.269 - echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
37.270 - </m:skript>
37.271 -</pre>]]></m:pre>
37.272 -
37.273 - <p>
37.274 - Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text,
37.275 - který by šlo vložit přímo do XML stránky
37.276 - – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-)
37.277 - </p>
37.278 -
37.279 - <h2>Skripty v makrech</h2>
37.280 - <p>
37.281 - Uvnitř definic maker můžeme volat<m:podČarou>
37.282 - Ovšem trochu jiným způsobem, než ve stránkách –
37.283 - nacházíme se totiž v <em>programu</em> (XSL šablona definující makro)
37.284 - nikoli v <em>datovém souboru</em> (XML stránka).
37.285 - </m:podČarou>
37.286 - jiná makra – mj. skripty.
37.287 - Toho jsme využili v makru, které generuje tabulku verzí z mercurialu
37.288 - – ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT.
37.289 - </p>
37.290 -
37.291 - <m:hg-verze/>
37.292 -
37.293 - <p>
37.294 - Toto makro naleznete v souboru <code>vstup/makra/hg-verze.xsl</code>.
37.295 - </p>
37.296 -
37.297 - <h2>Vnořování maker</h2>
37.298 - <p>
37.299 - Trochu jiný případ je vnořování maker na stránce.
37.300 - Např. si chceme vypsat vybrané internetové služby:
37.301 - </p>
37.302 - <m:tabulka>
37.303 - <m:skript jazyk="perl"><![CDATA[
37.304 -use strict;
37.305 -use warnings;
37.306 -
37.307 -print "Port\tSlužba\tProtokol\n";
37.308 -open(S, "<", "/etc/services") or die $!;
37.309 -while (<S>) {
37.310 - if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
37.311 - print "$2\t$1\t$3\n";
37.312 - }
37.313 -}
37.314 - ]]></m:skript>
37.315 - </m:tabulka>
37.316 -
37.317 - <p>
37.318 - Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky:
37.319 - </p>
37.320 -
37.321 - <m:pre jazyk="xml"><![CDATA[
37.322 -<m:tabulka>
37.323 - <m:skript jazyk="perl"><![CDATA[
37.324 - print "Port\tSlužba\tProtokol\n";
37.325 - open(S, "<", "/etc/services") or die $!;
37.326 - while (<S>) {
37.327 - if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
37.328 - print "$2\t$1\t$3\n";
37.329 - }
37.330 - }
37.331 - ]]]]>><![CDATA[</m:skript>
37.332 -</m:tabulka>]]></m:pre>
37.333 -
37.334 - <p>
37.335 - Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory)
37.336 - a o převod na XHTML tabulku se postará XSL šablona.
37.337 - </p>
37.338 -
37.339 - <!--
37.340 - Nebo to taky můžeme napsat na jeden řádek:
37.341 - cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}'
37.342 - a vložit do tabulky jako BASH skript :-)
37.343 - -->
37.344 -
37.345 - <p>
37.346 - Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> –
37.347 - negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část.
37.348 - Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
37.349 - </p>
37.350 -
37.351 - <p>
37.352 - Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn
37.353 - pomocí značky <code><m:pre jazyk="…"/></code>.
37.354 - Toho využíváme na stránce <m:a href="zdrojáky">Zdrojové kódy</m:a> v případě SQL a XML ukázek.
37.355 - Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část.
37.356 - </p>
37.357 -
37.358 - </text>
37.359 -
37.360 -</stránka>
37.361 -
38.1 --- a/vstup/služby.xml Sun Jul 08 12:55:27 2012 +0200
38.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
38.3 @@ -1,42 +0,0 @@
38.4 -<stránka
38.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
38.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
38.7 - <nadpis>Služby</nadpis>
38.8 - <perex>Co poskytujeme.</perex>
38.9 - <pořadí>30</pořadí>
38.10 -
38.11 - <text xmlns="http://www.w3.org/1999/xhtml">
38.12 -
38.13 - <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>
38.14 - <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>
38.15 -
38.16 - <h2>Pravidelné krmení ptáků</h2>
38.17 - <p>Fusce eu libero sit amet mauris molestie suscipit. <m:a href="java.lang.Integer" typ="javadoc">Integer</m:a> porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p>
38.18 -
38.19 - <m:tabulka>
38.20 - Velikost ptáka Cena za jedno krmení
38.21 - malý 250
38.22 - střední 500
38.23 - velký 1000
38.24 - </m:tabulka>
38.25 -
38.26 - <p>Dodáváme pouze prvotřídní krmivo.</p>
38.27 -
38.28 - <m:wiki>
38.29 -Pravidelné krmení savců
38.30 ------------------------
38.31 -
38.32 -Tato služba je určena především pro pakoně a slony, vhodná je ale i pro jednorožce. _Vivamus nec dictum dolor_. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Markdown Integer luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.
38.33 -
38.34 -Aliquam erat volutpat. Quisque vitae libero est. Aliquam erat volutpat. [Integer](http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html) 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.
38.35 -
38.36 -Dodáváme pouze prvotřídní krmivo.
38.37 - </m:wiki>
38.38 -
38.39 - <h2>Jednorázová výměna podestýlky</h2>
38.40 - <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. <m:a href="java.lang.Integer" verze="6" typ="javadoc">Integer</m:a> luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p>
38.41 - <p>Účtováno hodinovou sazbou. Cena je závislá na míře zahnojení systému. Někdy je nutná úplně nová stavba klece nebo kotce.</p>
38.42 - </text>
38.43 -
38.44 -</stránka>
38.45 -
39.1 --- a/vstup/telefonní-seznam.csv Sun Jul 08 12:55:27 2012 +0200
39.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
39.3 @@ -1,6 +0,0 @@
39.4 -Osoba;Místnost;Telefon
39.5 -pan továrník (majitel);1;+420 604 123456
39.6 -pan ředitel;2;+420 604 123654
39.7 -slečna sekretářka;2;+420 604 123465
39.8 -Linuxový guru;3;+420 604 123546
39.9 -Softwarový architekt;4;+420 604 123645
40.1 --- a/vstup/web.conf Sun Jul 08 12:55:27 2012 +0200
40.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
40.3 @@ -1,39 +0,0 @@
40.4 -<web xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace">
40.5 - <název>Chovatelská stanice tučňáků</název>
40.6 - <podtitul>vše pro tučňáky</podtitul>
40.7 - <autor>
40.8 - <jméno>František Kučera</jméno>
40.9 - <email>nereknu_nechci_spam@example.com</email>
40.10 - </autor>
40.11 -
40.12 - <!-- TODO: XML Schéma a popisy v něm-->
40.13 -
40.14 - <!-- Základní URL našeho webu, mělo by končit lomítkem – pro generování RSS/Atom -->
40.15 - <url>https://frantovo.cz/projekty/xml-web-generator/demo1/</url>
40.16 -
40.17 - <!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom -->
40.18 - <uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid>
40.19 -
40.20 - <!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu -->
40.21 - <kod>PokusnyWeb123</kod>
40.22 -
40.23 - <!--
40.24 - Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky.
40.25 - Můžeme jich uvést libovolné množství.
40.26 - -->
40.27 - <css>css/styl.css</css>
40.28 - <css>css/syntaxe.css</css>
40.29 - <js>js/skript.js</js>
40.30 -
40.31 - <skriptování>
40.32 - <!--
40.33 - povolit – skripty se vykonají
40.34 - zakázat – skripty se nevykonají a dojde k chybě
40.35 - ignorovat – skripty se v tichosti přeskočí
40.36 - varovat – skripty se v přeskočí a na jejich místo se vloží varování – výchozí možnost
40.37 - vložit – místo výstupu skriptu se vloží jeho zdroják
40.38 - -->
40.39 - <režim></režim>
40.40 - </skriptování>
40.41 -</web>
40.42 -
41.1 --- a/vstup/zdrojáky.xml Sun Jul 08 12:55:27 2012 +0200
41.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
41.3 @@ -1,110 +0,0 @@
41.4 -<stránka
41.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
41.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
41.7 - <nadpis>Zdrojové kódy</nadpis>
41.8 - <perex>Ukázka našich zdrojových kódů.</perex>
41.9 - <pořadí>40</pořadí>
41.10 -
41.11 - <text xmlns="http://www.w3.org/1999/xhtml">
41.12 -
41.13 - <p>Zde je malá ukázka našich zdrojových kódů. 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>
41.14 - <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="odkazy" title="Ukázka odkazů">sed orci</m:a> 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>
41.15 -
41.16 - <h2>C++</h2>
41.17 - <p>Ukázka převzatá ze stránky <a href="https://podnik.frantovo.cz/s/zdrojovy-kod">Zdrojový kód</a>:</p>
41.18 -
41.19 - <m:pre jazyk="cpp"><![CDATA[# include <iostream>
41.20 -using namespace std;
41.21 -
41.22 -int main(int argc, char *argv[]) {
41.23 -
41.24 - cout << "Chcete slyšet vtip?" << endl;
41.25 - char odpoved = cin.get();
41.26 - cin.get();
41.27 -
41.28 - if (odpoved == 'a') {
41.29 - cout
41.30 - << "Lidé se dělí do 10 skupin." << endl
41.31 - << "Na ty, kteří rozumějí binárnímu kódu, "
41.32 - << "a na ty ostatní." << endl;
41.33 - return 0;
41.34 - } else if (odpoved == 'n') {
41.35 - cout << "Dobře, tak ne." << endl;
41.36 - return 0;
41.37 - } else {
41.38 - cout
41.39 - << "Nerozumím odpovědi "
41.40 - << "– očekávám „ano“ nebo „ne“." << endl;
41.41 - return 1;
41.42 - }
41.43 -}]]></m:pre>
41.44 -
41.45 - <h2>Java</h2>
41.46 -
41.47 - <m:pre jazyk="java"><m:skript jazyk="bash">
41.48 - cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}';
41.49 - </m:skript></m:pre>
41.50 -
41.51 - <h2>XML</h2>
41.52 -
41.53 - <p>
41.54 - Zdroják aktuální stránky – <abbr title="diakritika byla odstraněna, protože v Pygmentize je chyba – neumí značky s diakritikou, přestože to je platné XML">upravený</abbr> a zkrácený pomocí <m:a href="skriptování">skriptu</m:a>:
41.55 - </p>
41.56 - <m:pre jazyk="xml"><m:skript jazyk="bash">
41.57 -# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být.
41.58 -# TODO: opravit to tam (zřejmě špatný regulární výraz).
41.59 -
41.60 -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8;
41.61 -echo -e "\t\t… zkráceno …";
41.62 -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4;
41.63 -
41.64 -# Případně:
41.65 -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8;
41.66 -# echo -e "\t\t… zkráceno …";
41.67 -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4;
41.68 - </m:skript></m:pre>
41.69 -
41.70 - <p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
41.71 -
41.72 - <h2>BASH</h2>
41.73 -
41.74 - <m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
41.75 -
41.76 - <h2>SQL</h2>
41.77 -
41.78 - <p>
41.79 - Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí <m:a href="skriptování">skriptu</m:a>,
41.80 - a poté zvýrazněn.
41.81 - </p>
41.82 -
41.83 - <m:pre jazyk="sql"><m:skript jazyk="perl"><![CDATA[
41.84 -use strict;
41.85 -use warnings;
41.86 -
41.87 -for (my $i = 0; $i < 10; $i++) {
41.88 - print "INSERT INTO tabulka VALUES ('abc $i', 'def ". $i*($i+1) . "', " . 2**$i . ");\n";
41.89 -}
41.90 - ]]></m:skript></m:pre>
41.91 -
41.92 - <h2>Chyby</h2>
41.93 -
41.94 - <p>Následující ukázky kódu nebudou zvýrazněné:</p>
41.95 -
41.96 - <m:pre jazyk="xxxxxxxx">Nepodporovaný jazyk → syntaxe nebude zvýrazněna <blee/></m:pre>
41.97 -
41.98 - <m:pre>#!/bin/bash
41.99 -# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí
41.100 -# <blee/></m:pre>
41.101 -
41.102 - <h2>Objekty</h2>
41.103 -
41.104 - <p>
41.105 - Při vývoji softwaru používáme <abbr title="objektově orientované programování">OOP</abbr>.
41.106 - </p>
41.107 -
41.108 - <m:diagram src="kočka-a-pes-oop.dot" nadpis="Třídy Kočka a Pes jsou potomkem třídy Zvíře"/>
41.109 -
41.110 - </text>
41.111 -
41.112 -</stránka>
41.113 -
42.1 --- a/vstup/záhlaví.inc Sun Jul 08 12:55:27 2012 +0200
42.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
42.3 @@ -1,10 +0,0 @@
42.4 -<stránka
42.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
42.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
42.7 - <text xmlns="http://www.w3.org/1999/xhtml">
42.8 - <p class="logo">
42.9 - <m:a href="index" title="Klikněte pro přechod na úvodní stránku"><img src="grafika/logo.png" alt="XML Web generátor"/></m:a>
42.10 - </p>
42.11 - </text>
42.12 -</stránka>
42.13 -
43.1 --- a/vstup/zápatí.inc Sun Jul 08 12:55:27 2012 +0200
43.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
43.3 @@ -1,8 +0,0 @@
43.4 -<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana">
43.5 - <text xmlns="http://www.w3.org/1999/xhtml">
43.6 - <p>
43.7 - Poháněno tučňákem. Vytvořeno pomocí <a href="https://trac.frantovo.cz/xml-web-generator/">XML Web generátoru</a>. Používá XML, XSLT, Ant a další dobroty.
43.8 - </p>
43.9 - </text>
43.10 -</stránka>
43.11 -
44.1 --- a/vstup/šachy.xml Sun Jul 08 12:55:27 2012 +0200
44.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
44.3 @@ -1,24 +0,0 @@
44.4 -<stránka
44.5 - xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
44.6 - xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
44.7 - <nadpis>Šachy</nadpis>
44.8 - <perex>Královská hra.</perex>
44.9 -
44.10 - <text xmlns="http://www.w3.org/1999/xhtml">
44.11 -
44.12 - <m:tabulka>
44.13 - a b c d e f g h
44.14 - 8 ♖ ♘ ♗ ♔ ♕ ♗ ♘ ♖
44.15 - 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙
44.16 - 6
44.17 - 5
44.18 - 4
44.19 - 3
44.20 - 2 ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
44.21 - 1 ♜ ♞ ♝ ♚ ♛ ♝ ♞ ♜
44.22 - </m:tabulka>
44.23 -
44.24 - </text>
44.25 -
44.26 -</stránka>
44.27 -