# HG changeset patch # User František Kučera # Date 1353189959 -3600 # Node ID 4d33f14e99ddfef13d45417139031119d38c74bb # Parent eec920c4bddf4d19ce64073e7836fdaa78e2cadf 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. diff -r eec920c4bddf -r 4d33f14e99dd .hgignore --- a/.hgignore Sun Jul 08 12:55:27 2012 +0200 +++ b/.hgignore Sat Nov 17 23:05:59 2012 +0100 @@ -3,6 +3,7 @@ šablona/funkce/build/* šablona/.makra-seznam.xsl vstup/.seznam.xml +ukázka/.seznam.xml analýza/princip.png nbproject/private dokumentace/javadoc diff -r eec920c4bddf -r 4d33f14e99dd ukázka/css/styl.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/css/styl.css Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,205 @@ +body { + background-color: #3c3b37; + font-family: sans-serif; + text-align: center; + font-size: 16px; +} + +a img { + border: none; +} + +a:hover { + text-shadow: 1px 1px 1px #eee; +} +a[href^="https://"]:hover { + text-shadow: 1px 1px 1px #6f6; +} +a[href^="http://"]:hover { + text-shadow: 1px 1px 1px #66f; +} + +#tělo { + width: 900px; + text-align: left; + margin: 0 auto; + margin-top: 32px; + margin-bottom: 32px; + background-color: #77bed2; + padding-left: 20px; + padding-right: 20px; + padding-top: 2px; + padding-bottom: 2px; + border-radius: 8px; +} + +#nabídka { + width: 10.3em; + position: relative; + left: -20px; + top: -12px; + background-color: #3c3b37; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 10px; + list-style-type: none; + float: left; +} + +#nabídka a { + color: white; +} + +#nabídka a:hover { + color: #77bed2; + text-shadow: none; +} + +#text { + min-height: 400px; +} + +#zápatí { + font-size: small; + text-align: center; +} + +pre { + background-color: #ddf; + padding: 6px; + border-radius: 4px; + overflow: auto; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +.zdroják-ke-stažení { + font-size: 60%; + margin-top: -20px; + padding-right: 0px; + text-align: right; +} +.zdroják-ke-stažení span { + background-color: #ddf; + color: black; + padding: 5px; + border-radius: 0px 0px 4px 4px; + padding-top: 0px; + padding-bottom: 0px; +} + +.zdroják-ke-stažení a { + text-decoration: none +} + +.diagram { + background-color: #ddf; + padding: 6px; + border-radius: 4px; + text-align: center; + max-width: 100%; + overflow: auto; +} + +.diagram .nadpis { + font-size: 60%; + padding: 4px; + margin-top: 6px; + margin-bottom: -6px; + margin-left: -6px; + margin-right: -6px; + background-color: #d0d0f0; + border-radius: 0px 0px 4px 4px; +} + +table { + border-collapse:collapse; + box-shadow: 3px 3px 3px grey; + margin-top: 10px; + margin-bottom: 10px; +} +td, th { + border: 1px solid black; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 6px; + padding-right: 6px; + font-weight: normal; +} +td.číslo { + text-align: right; +} +thead tr { + background: grey; + color:black; +} +tbody tr:hover { + background-color: silver; + color:black; +} + +.rot13 span { + color: gray; + font-family: monospace; +} + +.rot13 a { + margin-left: -5px; + color: green; + text-decoration: none; +} + +.rot13 a:hover { + color: red; +} + +sup, sub { + vertical-align: 0; + position: relative; +} +sup { + bottom: 1ex; +} +sub { + top: 0.8ex; +} + +sup.podČarou-odkaz a { + color: grey; + text-decoration: none; +} + +div.podČarou-poznámky { + font-size: 66%; + border-top: 1px solid grey; + border-bottom: 1px solid grey; + padding-left: 20px; + padding-top: 4px; + padding-bottom: 4px; +} + +div.podČarou-poznámky p { + margin-top: 2px; + margin-bottom: 2px; +} + +div.podČarou-poznámky a.podČarou-odkaz-zpět { + color: black; + text-decoration: none; + margin-right: 4px; +} + + +blockquote { + background-color: #ddf; + padding-top: 3px; + padding-bottom: 3px; + padding-left: 16px; + padding-right: 16px; + border-radius: 4px; +} + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/grafika/logo.png Binary file ukázka/grafika/logo.png has changed diff -r eec920c4bddf -r 4d33f14e99dd ukázka/index.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/index.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,21 @@ + + + Chovatelská stanice + Úvodní stránka našeho webu. + 10 + + +

+ Vítejte na našich stránkách :-) + Jsme chovatelská stanice zaměřená na chov tučňáků.Jsou to opravdu moc pěkná zvířata. + + 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. +

+

Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem službyTam se určitě podívejte! 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.

+

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.

+
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/js/skript.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/js/skript.js Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,65 @@ +/** + * XML Web generátor – program na generování webových stránek + * Copyright © 2012 František Kučera (frantovo.cz) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * XML Web generátor – jmenný prostor + */ +var xwg = { + /** + * Zašifruje/dešifruje obsah elementu pomocí Rot13. + * @param id ID elementu, jehož text chceme změnit. + */ + rot13: function(id) { + var e = document.getElementById(id); + e.textContent = e.textContent.rot13(); + }, + + /** + * Vloží klikatelný odkaz. + * @param id ID span elementu obsahujícího data + */ + odkazNaElektronickouPoštu: function(id) { + var spanČesky = document.getElementById(id); + var spanObsah = document.getElementById(id + "b"); + var česky = spanČesky.innerHTML; + var adresa = česky.replace(" zavináč ", "@").replace(" tečka ","."); + + var odkaz = document.createElement("a"); + odkaz.href = "mailto:" + adresa; + if (spanObsah.innerHTML.length > 0) { + odkaz.innerHTML = spanObsah.innerHTML; + } else { + odkaz.innerHTML = adresa; + } + + spanČesky.parentNode.insertBefore(odkaz, spanČesky); + spanČesky.parentNode.removeChild(spanČesky); + spanObsah.parentNode.removeChild(spanObsah); + }, + +}; + +/** + * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 + */ +String.prototype.rot13 = function() { + return this.replace(/[a-zA-Z]/g, function(z) { + return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26); + }); +}; + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/kontakt.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/kontakt.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,66 @@ + + Kontakt + Kde nás najdete. + 70 + +

+ Nejlépe se k nám dostanete pomocí vírníku (linka 42). +

+

+ Naše adresa:
+
+ Polární 128
+ Tučňákova Lhota
+ Česká republika +

+ +

Organizační struktura

+ +

+ Zde je orgranizační struktura naší skvělé firmy: +

+ + + node [shape="box"]; + + tovarnik [label="pan továrník\n(majitel)"]; + reditel [label="pan ředitel"]; + sekretarka [label="slečna sekretářka"]; + root [label="Linuxový guru"]; + architekt [label="Softwarový architekt"]; + + tovarnik -> reditel; + reditel -> sekretarka; + reditel -> architekt; + reditel -> root; + + +

Procesy

+ +

+ Ve firmě máme spoustu procesů. Jeden z nich vypadá takto: +

+ + + A -> B; + B -> C; + + +

+ Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají. +

+ +

Telefonní seznam

+ +

+ Můžete nám kdykoli zavolat: +

+ + + +
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/kočka-a-pes-oop.dot --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/kočka-a-pes-oop.dot Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,18 @@ +digraph G { + bgcolor="transparent"; + + + // Třídy: + node [shape = "record"]; + Pes [label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"]; + Kočka [label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"]; + Zvíře [label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"]; + + + // Dědičnost: + edge [arrowhead = "empty"]; + + Pes -> Zvíře; + Kočka -> Zvíře; +} + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/makra/firma.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/makra/firma.xsl Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,25 @@ + + + + + Chovatelská stanice a.s. + Chovatelská stanice a.s. + Chovatelské stanice a.s. + Chovatelské stanici a.s. + Chovatelskou stanici a.s. + Chovatelská stanice a.s. + Chovatelské stanice a.s. + Chovatelskou stanicí a.s. + + + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/makra/hg-verze.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/makra/hg-verze.xsl Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,44 @@ + + + + + + + + hg log --style xml + + + + + + + + + + + + + + + + + + + + + +
Číslo verzeDatum vydání
+
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/makra/měřák.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/makra/měřák.xsl Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,33 @@ + + + + + + + + + +
+
+

+ /100 +

+
+
+ + Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta). + +
+
+ +
diff -r eec920c4bddf -r 4d33f14e99dd ukázka/matrixový-spořič.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/matrixový-spořič.sh Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,16 @@ +#!/bin/bash +# Matrixový spořič :-) + +case "$1" in + start) + echo -e "\033[22;32m"; + cat /dev/urandom | hexdump; +;; + stop) + echo -e "\033[0m"; +;; + *) + $0 start; +;; +esac + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/odkazy.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/odkazy.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,60 @@ + + Odkazy + Ukázka odkazů – interních, externích… + 60 + + + +

Tady jsou nějaké naše odkazy. 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. 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.

+ +
    +
  • Kontakt – interní odkaz
  • +
  • Pan Anonym – obfuskovaný e-mail
  • +
  • + Nejlepší distribuce – vyhledávání pomocí Seznamu + Byl založen roku 1996 Ivem Lukačovičem, a stal se prvním českým internetovým vyhledávačem v České republice. + Alespoň tak to píšou na Wikipedii. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovatCož nedává až tak velký smysl, ale dělat to klidně můžete :-) do sebe. + +
  • +
  • GNU/Linux a tučňák Tux – vyhledávání pomocí Googlu
  • +
  • Netiketa – internetový standard RFC
  • +
  • Linus Torvalds – encyklopedie Wikipedia – česky
  • +
  • Richard Stallman – encyklopedie Wikipedia – anglicky
  • +
+ +

+ Podporované typy odkazů zapisujeme takto: +

+ + Kontakt +Pan Anonym +Nejlepší distribuce +GNU/Linux a tučňák Tux +Netiketa +Linus Torvalds +Richard Stallman +]]> + +

+ Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-) +

+ + nějaká stránka +nějaký e-mail +]]> + +

+ Uvnitř textu odkazů (ať už těch vložených pomocí makra nebo standardních z XHTML) + můžeme klidně používat další makra nebo vkládat jiné značky + – třeba obrázky nebo formátování + – nemusíme se omezovat na prostý text! +

+ +
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/produkty.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/produkty.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,38 @@ + + Produkty + Co vyrábíme. + 20 + + + +

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.

+

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.

+ +

Tučňák domácí

+

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.

+ +

Vhodnost zvířete do domácnosti:

+ +

Tučňáky si prostě oblíbíte!

+ +

Panda malá

+

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.

+

Aliquam erat volutpat. Quisque vitae libero est. Panda malá je menší než panda velká. 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.

+ +

Vhodnost zvířete do domácnosti:

+ + + + +
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/skriptování-proměnné.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/skriptování-proměnné.pl Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,17 @@ +#!/usr/bin/perl + +# Projde zdroják v javě a najde v něm, +# jaké proměnné prostředí se nastavují pro běh skriptů +# Výstup: tělo XHTML tabulky (řádky) + +use strict; +use warnings; + +open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; + +while () { + if (/"(.*)=".*\/\/\s+env:(.*)/) { + print "$1$2\n"; + } +} + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/skriptování.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/skriptování.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,358 @@ + + Skriptování + Na stránku můžeme vložit výstup skriptů. + 50 + + + +

+ Na stránkách můžeme používat skripty. + Spouští se při generování a jejich standardní výstup se vloží do stránky. + Třeba doprostřed textu ostavce nebo do jiného elementu. +

+

+ Příklad: + + Tyto stránky byly vygenerované v systému + uname -o. + +

+ +

+ Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah – + jak prostý text, tak i XHTML fragmenty. + Zapíná se pomocí atributu výstup="xhtml" a generátor pak kontroluje správné formátování – + nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami. + Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (m). + +

+

+ Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách, + které psal někdo nedůvěryhodný a vložil do nich škodlivý kód. + Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí + (ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety). + Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru web.conf. +

+ +

Podporované jazyky

+

+ V současnosti jsou podporované tyto jazyky: +

+ + + + + + + + + + ) { + if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { + print "\n"; + } +} + ]]> + +
JazykInterpret
$1$2
+ +

Perl – ukázka

+

Jazyky použité nebo citované na této stránce:

+ +
) {
+	if (/m:skript\s+jazyk="(\w+)"/) {
+		$skripty{$1}++;
+	}
+}
+
+for(keys(%skripty)) {
+	print "$skripty{$_}×\t $_\n";
+}
+			]]>
+ +

BASH – ukázka

+
+ + + +

Proměnné prostředí

+

+ Ve skriptech máme dostupné následující proměnné prostředí: +

+ + + + + + + + + + + + +
ProměnnáVýznam
+ +

+ Kód: +

+ + +echo "URI: $XWG_STRANKA_URI"; +echo "Soubor: $XWG_STRANKA_SOUBOR"; +echo "Nadpis: $XWG_STRANKA_NADPIS"; +echo "Perex: $XWG_STRANKA_PEREX"; +]]> + +

nám vypíše:

+ +
+ +

Makra ze skriptů

+

+ XML generované skriptem může také obsahovat makra, která se následně interptetují. + '; # Ty zrůdo! :-) +echo 'echo "Takže můžeš skriptovat, když skriptuješ,";'; +echo ''; + ]]> + nebo dělat něco užitečnějšího. +

+ + \n"; +print " node [shape=\"box\"];\n"; +print " koren [label=\"Uživatelská makra\"];\n"; + +opendir(DIR, $adresar) or die $!; +my $i = 0; +while (readdir(DIR)) { + next if (/^\./); + # Měli bychom ošetřit zvláštní znaky v názvech souborů, + # abychom nezpůsobili chybu GraphVizu. + print " n$i [label=\"$_\"];\n"; + print " koren -> n$i;\n"; + $i++; +} + +print ""; +closedir(DIR); + ]]> + +

…třeba vygenerovat tento diagram následujícím perlovským skriptem:

+ + \n"; +print " node [shape=\"box\"];\n"; +print " koren [label=\"Uživatelská makra\"];\n"; + +opendir(DIR, $adresar) or die $!; +my $i = 0; +while (readdir(DIR)) { + next if (/^\./); + # Měli bychom ošetřit zvláštní znaky v názvech souborů, + # abychom nezpůsobili chybu GraphVizu. + print " n$i [label=\"$_\"];\n"; + print " koren -> n$i;\n"; + $i++; +} + +print ""; +closedir(DIR);]]> + +

+ Který vložíme zabalený v  … ]]> do stránky. +

+

+ 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í). +

+ +

Makra ve skriptech

+ +

+ Uvnitř zdrojového kódu skriptu můžeme používat jiná makra. + Např. tento kód: +

+ + + + print "Náš podnik se jmenuje "; + +]]> + +

+ nám vygeneruje: +

+ +

+				print "Náš podnik se jmenuje ";
+		
+ +

+ Můžete si tak vytvořit makra pro opakující se části + a používat je jak v textu stránek, tak ve skriptech nebo diagramech. + Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, + je dobré ho zabalit ještě do jedné značky, která se postará o escapování + pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). + +

+ +

+ Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu + – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy + a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu. +

+ +

+			echo "S naší  budete jistě spokojeni!";
+			echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
+		
+ +

+ Zdrojový kód: +

+ + + + + echo "S naší budete jistě spokojeni!"; + echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; + +]]> + +

+ Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text, + který by šlo vložit přímo do XML stránky + – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-) +

+ +

Skripty v makrech

+

+ Uvnitř definic maker můžeme volat + Ovšem trochu jiným způsobem, než ve stránkách – + nacházíme se totiž v programu (XSL šablona definující makro) + nikoli v datovém souboru (XML stránka). + + jiná makra – mj. skripty. + Toho jsme využili v makru, které generuje tabulku verzí z mercurialu + – ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT. +

+ + + +

+ Toto makro naleznete v souboru vstup/makra/hg-verze.xsl. +

+ +

Vnořování maker

+

+ Trochu jiný případ je vnořování maker na stránce. + Např. si chceme vypsat vybrané internetové služby: +

+ + ) { + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { + print "$2\t$1\t$3\n"; + } +} + ]]> + + +

+ Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky: +

+ + + ) { + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { + print "$2\t$1\t$3\n"; + } + } + ]]]]>> +]]> + +

+ Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory) + a o převod na XHTML tabulku se postará XSL šablona. +

+ + + +

+ Podobně bychom mohli postupovat i u diagramu – + negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část. + Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky. +

+ +

+ Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn + pomocí značky <m:pre jazyk="…"/>. + Toho využíváme na stránce Zdrojové kódy v případě SQL a XML ukázek. + Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část. +

+ +
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/služby.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/služby.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,42 @@ + + Služby + Co poskytujeme. + 30 + + + +

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.

+

Morbi et magna a ligula pulvinar posuere. Podívejte se také na naše zdrojové kódy. 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.

+ +

Pravidelné krmení ptáků

+

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.

+ + + Velikost ptáka Cena za jedno krmení + malý 250 + střední 500 + velký 1000 + + +

Dodáváme pouze prvotřídní krmivo.

+ + +Pravidelné krmení savců +----------------------- + +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. + +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. + +Dodáváme pouze prvotřídní krmivo. + + +

Jednorázová výměna podestýlky

+

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.

+

Účtováno hodinovou sazbou. Cena je závislá na míře zahnojení systému. Někdy je nutná úplně nová stavba klece nebo kotce.

+
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/telefonní-seznam.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/telefonní-seznam.csv Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,6 @@ +Osoba;Místnost;Telefon +pan továrník (majitel);1;+420 604 123456 +pan ředitel;2;+420 604 123654 +slečna sekretářka;2;+420 604 123465 +Linuxový guru;3;+420 604 123546 +Softwarový architekt;4;+420 604 123645 diff -r eec920c4bddf -r 4d33f14e99dd ukázka/web.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/web.conf Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,39 @@ + + Chovatelská stanice tučňáků + vše pro tučňáky + + František Kučera + nereknu_nechci_spam@example.com + + + + + + https://frantovo.cz/projekty/xml-web-generator/demo1/ + + + 399a714c-956e-444c-a8f4-afe8f0df802a + + + PokusnyWeb123 + + + css/styl.css + css/syntaxe.css + js/skript.js + + + + povolit + + + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/zdrojáky.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/zdrojáky.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,110 @@ + + Zdrojové kódy + Ukázka našich zdrojových kódů. + 40 + + + +

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.

+

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.

+ +

C++

+

Ukázka převzatá ze stránky Zdrojový kód:

+ + +using namespace std; + +int main(int argc, char *argv[]) { + + cout << "Chcete slyšet vtip?" << endl; + char odpoved = cin.get(); + cin.get(); + + if (odpoved == 'a') { + cout + << "Lidé se dělí do 10 skupin." << endl + << "Na ty, kteří rozumějí binárnímu kódu, " + << "a na ty ostatní." << endl; + return 0; + } else if (odpoved == 'n') { + cout << "Dobře, tak ne." << endl; + return 0; + } else { + cout + << "Nerozumím odpovědi " + << "– očekávám „ano“ nebo „ne“." << endl; + return 1; + } +}]]> + +

Java

+ + + cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}'; + + +

XML

+ +

+ Zdroják aktuální stránky – upravený a zkrácený pomocí skriptu: +

+ +# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být. +# TODO: opravit to tam (zřejmě špatný regulární výraz). + +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8; +echo -e "\t\t… zkráceno …"; +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4; + +# Případně: +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8; +# echo -e "\t\t… zkráceno …"; +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4; + + +

Další ukázka XML: tabulka.xsl.

+ +

BASH

+ + + +

SQL

+ +

+ Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí skriptu, + a poté zvýrazněn. +

+ + + +

Chyby

+ +

Následující ukázky kódu nebudou zvýrazněné:

+ + Nepodporovaný jazyk → syntaxe nebude zvýrazněna <blee/> + + #!/bin/bash +# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí +# <blee/> + +

Objekty

+ +

+ Při vývoji softwaru používáme OOP. +

+ + + +
+ +
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/záhlaví.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/záhlaví.inc Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,10 @@ + + + + + + diff -r eec920c4bddf -r 4d33f14e99dd ukázka/zápatí.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/zápatí.inc Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,8 @@ + + +

+ Poháněno tučňákem. Vytvořeno pomocí XML Web generátoru. Používá XML, XSLT, Ant a další dobroty. +

+
+
+ diff -r eec920c4bddf -r 4d33f14e99dd ukázka/šachy.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ukázka/šachy.xml Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,24 @@ + + Šachy + Královská hra. + + + + +   a b c d e f g h + 8 ♖ ♘ ♗ ♔ ♕ ♗ ♘ ♖ + 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ + 6                 + 5                 + 4                 + 3                 + 2 ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ + 1 ♜ ♞ ♝ ♚ ♛ ♝ ♞ ♜ + + + + + + diff -r eec920c4bddf -r 4d33f14e99dd vstup --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vstup Sat Nov 17 23:05:59 2012 +0100 @@ -0,0 +1,1 @@ +ukázka/ \ No newline at end of file diff -r eec920c4bddf -r 4d33f14e99dd vstup/css/styl.css --- a/vstup/css/styl.css Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,205 +0,0 @@ -body { - background-color: #3c3b37; - font-family: sans-serif; - text-align: center; - font-size: 16px; -} - -a img { - border: none; -} - -a:hover { - text-shadow: 1px 1px 1px #eee; -} -a[href^="https://"]:hover { - text-shadow: 1px 1px 1px #6f6; -} -a[href^="http://"]:hover { - text-shadow: 1px 1px 1px #66f; -} - -#tělo { - width: 900px; - text-align: left; - margin: 0 auto; - margin-top: 32px; - margin-bottom: 32px; - background-color: #77bed2; - padding-left: 20px; - padding-right: 20px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 8px; -} - -#nabídka { - width: 10.3em; - position: relative; - left: -20px; - top: -12px; - background-color: #3c3b37; - border-top-right-radius: 8px; - border-bottom-right-radius: 8px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 10px; - list-style-type: none; - float: left; -} - -#nabídka a { - color: white; -} - -#nabídka a:hover { - color: #77bed2; - text-shadow: none; -} - -#text { - min-height: 400px; -} - -#zápatí { - font-size: small; - text-align: center; -} - -pre { - background-color: #ddf; - padding: 6px; - border-radius: 4px; - overflow: auto; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; -} - -.zdroják-ke-stažení { - font-size: 60%; - margin-top: -20px; - padding-right: 0px; - text-align: right; -} -.zdroják-ke-stažení span { - background-color: #ddf; - color: black; - padding: 5px; - border-radius: 0px 0px 4px 4px; - padding-top: 0px; - padding-bottom: 0px; -} - -.zdroják-ke-stažení a { - text-decoration: none -} - -.diagram { - background-color: #ddf; - padding: 6px; - border-radius: 4px; - text-align: center; - max-width: 100%; - overflow: auto; -} - -.diagram .nadpis { - font-size: 60%; - padding: 4px; - margin-top: 6px; - margin-bottom: -6px; - margin-left: -6px; - margin-right: -6px; - background-color: #d0d0f0; - border-radius: 0px 0px 4px 4px; -} - -table { - border-collapse:collapse; - box-shadow: 3px 3px 3px grey; - margin-top: 10px; - margin-bottom: 10px; -} -td, th { - border: 1px solid black; - padding-top: 4px; - padding-bottom: 4px; - padding-left: 6px; - padding-right: 6px; - font-weight: normal; -} -td.číslo { - text-align: right; -} -thead tr { - background: grey; - color:black; -} -tbody tr:hover { - background-color: silver; - color:black; -} - -.rot13 span { - color: gray; - font-family: monospace; -} - -.rot13 a { - margin-left: -5px; - color: green; - text-decoration: none; -} - -.rot13 a:hover { - color: red; -} - -sup, sub { - vertical-align: 0; - position: relative; -} -sup { - bottom: 1ex; -} -sub { - top: 0.8ex; -} - -sup.podČarou-odkaz a { - color: grey; - text-decoration: none; -} - -div.podČarou-poznámky { - font-size: 66%; - border-top: 1px solid grey; - border-bottom: 1px solid grey; - padding-left: 20px; - padding-top: 4px; - padding-bottom: 4px; -} - -div.podČarou-poznámky p { - margin-top: 2px; - margin-bottom: 2px; -} - -div.podČarou-poznámky a.podČarou-odkaz-zpět { - color: black; - text-decoration: none; - margin-right: 4px; -} - - -blockquote { - background-color: #ddf; - padding-top: 3px; - padding-bottom: 3px; - padding-left: 16px; - padding-right: 16px; - border-radius: 4px; -} - diff -r eec920c4bddf -r 4d33f14e99dd vstup/grafika/logo.png Binary file vstup/grafika/logo.png has changed diff -r eec920c4bddf -r 4d33f14e99dd vstup/index.xml --- a/vstup/index.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - Chovatelská stanice - Úvodní stránka našeho webu. - 10 - - -

- Vítejte na našich stránkách :-) - Jsme chovatelská stanice zaměřená na chov tučňáků.Jsou to opravdu moc pěkná zvířata. - - 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. -

-

Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem službyTam se určitě podívejte! 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.

-

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.

-
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/js/skript.js --- a/vstup/js/skript.js Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/** - * XML Web generátor – program na generování webových stránek - * Copyright © 2012 František Kučera (frantovo.cz) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * XML Web generátor – jmenný prostor - */ -var xwg = { - /** - * Zašifruje/dešifruje obsah elementu pomocí Rot13. - * @param id ID elementu, jehož text chceme změnit. - */ - rot13: function(id) { - var e = document.getElementById(id); - e.textContent = e.textContent.rot13(); - }, - - /** - * Vloží klikatelný odkaz. - * @param id ID span elementu obsahujícího data - */ - odkazNaElektronickouPoštu: function(id) { - var spanČesky = document.getElementById(id); - var spanObsah = document.getElementById(id + "b"); - var česky = spanČesky.innerHTML; - var adresa = česky.replace(" zavináč ", "@").replace(" tečka ","."); - - var odkaz = document.createElement("a"); - odkaz.href = "mailto:" + adresa; - if (spanObsah.innerHTML.length > 0) { - odkaz.innerHTML = spanObsah.innerHTML; - } else { - odkaz.innerHTML = adresa; - } - - spanČesky.parentNode.insertBefore(odkaz, spanČesky); - spanČesky.parentNode.removeChild(spanČesky); - spanObsah.parentNode.removeChild(spanObsah); - }, - -}; - -/** - * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 - */ -String.prototype.rot13 = function() { - return this.replace(/[a-zA-Z]/g, function(z) { - return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26); - }); -}; - diff -r eec920c4bddf -r 4d33f14e99dd vstup/kontakt.xml --- a/vstup/kontakt.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - Kontakt - Kde nás najdete. - 70 - -

- Nejlépe se k nám dostanete pomocí vírníku (linka 42). -

-

- Naše adresa:
-
- Polární 128
- Tučňákova Lhota
- Česká republika -

- -

Organizační struktura

- -

- Zde je orgranizační struktura naší skvělé firmy: -

- - - node [shape="box"]; - - tovarnik [label="pan továrník\n(majitel)"]; - reditel [label="pan ředitel"]; - sekretarka [label="slečna sekretářka"]; - root [label="Linuxový guru"]; - architekt [label="Softwarový architekt"]; - - tovarnik -> reditel; - reditel -> sekretarka; - reditel -> architekt; - reditel -> root; - - -

Procesy

- -

- Ve firmě máme spoustu procesů. Jeden z nich vypadá takto: -

- - - A -> B; - B -> C; - - -

- Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají. -

- -

Telefonní seznam

- -

- Můžete nám kdykoli zavolat: -

- - - -
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/kočka-a-pes-oop.dot --- a/vstup/kočka-a-pes-oop.dot Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G { - bgcolor="transparent"; - - - // Třídy: - node [shape = "record"]; - Pes [label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"]; - Kočka [label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"]; - Zvíře [label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"]; - - - // Dědičnost: - edge [arrowhead = "empty"]; - - Pes -> Zvíře; - Kočka -> Zvíře; -} - diff -r eec920c4bddf -r 4d33f14e99dd vstup/makra/firma.xsl --- a/vstup/makra/firma.xsl Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ - - - - - Chovatelská stanice a.s. - Chovatelská stanice a.s. - Chovatelské stanice a.s. - Chovatelské stanici a.s. - Chovatelskou stanici a.s. - Chovatelská stanice a.s. - Chovatelské stanice a.s. - Chovatelskou stanicí a.s. - - - diff -r eec920c4bddf -r 4d33f14e99dd vstup/makra/hg-verze.xsl --- a/vstup/makra/hg-verze.xsl Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ - - - - - - - - hg log --style xml - - - - - - - - - - - - - - - - - - - - - -
Číslo verzeDatum vydání
-
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/makra/měřák.xsl --- a/vstup/makra/měřák.xsl Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ - - - - - - - - - -
-
-

- /100 -

-
-
- - Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta). - -
-
- -
diff -r eec920c4bddf -r 4d33f14e99dd vstup/matrixový-spořič.sh --- a/vstup/matrixový-spořič.sh Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -#!/bin/bash -# Matrixový spořič :-) - -case "$1" in - start) - echo -e "\033[22;32m"; - cat /dev/urandom | hexdump; -;; - stop) - echo -e "\033[0m"; -;; - *) - $0 start; -;; -esac - diff -r eec920c4bddf -r 4d33f14e99dd vstup/odkazy.xml --- a/vstup/odkazy.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ - - Odkazy - Ukázka odkazů – interních, externích… - 60 - - - -

Tady jsou nějaké naše odkazy. 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. 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.

- -
    -
  • Kontakt – interní odkaz
  • -
  • Pan Anonym – obfuskovaný e-mail
  • -
  • - Nejlepší distribuce – vyhledávání pomocí Seznamu - Byl založen roku 1996 Ivem Lukačovičem, a stal se prvním českým internetovým vyhledávačem v České republice. - Alespoň tak to píšou na Wikipedii. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovatCož nedává až tak velký smysl, ale dělat to klidně můžete :-) do sebe. - -
  • -
  • GNU/Linux a tučňák Tux – vyhledávání pomocí Googlu
  • -
  • Netiketa – internetový standard RFC
  • -
  • Linus Torvalds – encyklopedie Wikipedia – česky
  • -
  • Richard Stallman – encyklopedie Wikipedia – anglicky
  • -
- -

- Podporované typy odkazů zapisujeme takto: -

- - Kontakt -Pan Anonym -Nejlepší distribuce -GNU/Linux a tučňák Tux -Netiketa -Linus Torvalds -Richard Stallman -]]> - -

- Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-) -

- - nějaká stránka -nějaký e-mail -]]> - -

- Uvnitř textu odkazů (ať už těch vložených pomocí makra nebo standardních z XHTML) - můžeme klidně používat další makra nebo vkládat jiné značky - – třeba obrázky nebo formátování - – nemusíme se omezovat na prostý text! -

- -
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/produkty.xml --- a/vstup/produkty.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ - - Produkty - Co vyrábíme. - 20 - - - -

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.

-

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.

- -

Tučňák domácí

-

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.

- -

Vhodnost zvířete do domácnosti:

- -

Tučňáky si prostě oblíbíte!

- -

Panda malá

-

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.

-

Aliquam erat volutpat. Quisque vitae libero est. Panda malá je menší než panda velká. 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.

- -

Vhodnost zvířete do domácnosti:

- - - - -
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/skriptování-proměnné.pl --- a/vstup/skriptování-proměnné.pl Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -#!/usr/bin/perl - -# Projde zdroják v javě a najde v něm, -# jaké proměnné prostředí se nastavují pro běh skriptů -# Výstup: tělo XHTML tabulky (řádky) - -use strict; -use warnings; - -open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; - -while () { - if (/"(.*)=".*\/\/\s+env:(.*)/) { - print "$1$2\n"; - } -} - diff -r eec920c4bddf -r 4d33f14e99dd vstup/skriptování.xml --- a/vstup/skriptování.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,358 +0,0 @@ - - Skriptování - Na stránku můžeme vložit výstup skriptů. - 50 - - - -

- Na stránkách můžeme používat skripty. - Spouští se při generování a jejich standardní výstup se vloží do stránky. - Třeba doprostřed textu ostavce nebo do jiného elementu. -

-

- Příklad: - - Tyto stránky byly vygenerované v systému - uname -o. - -

- -

- Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah – - jak prostý text, tak i XHTML fragmenty. - Zapíná se pomocí atributu výstup="xhtml" a generátor pak kontroluje správné formátování – - nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami. - Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (m). - -

-

- Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách, - které psal někdo nedůvěryhodný a vložil do nich škodlivý kód. - Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí - (ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety). - Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru web.conf. -

- -

Podporované jazyky

-

- V současnosti jsou podporované tyto jazyky: -

- - - - - - - - - - ) { - if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { - print "\n"; - } -} - ]]> - -
JazykInterpret
$1$2
- -

Perl – ukázka

-

Jazyky použité nebo citované na této stránce:

- -
) {
-	if (/m:skript\s+jazyk="(\w+)"/) {
-		$skripty{$1}++;
-	}
-}
-
-for(keys(%skripty)) {
-	print "$skripty{$_}×\t $_\n";
-}
-			]]>
- -

BASH – ukázka

-
- - - -

Proměnné prostředí

-

- Ve skriptech máme dostupné následující proměnné prostředí: -

- - - - - - - - - - - - -
ProměnnáVýznam
- -

- Kód: -

- - -echo "URI: $XWG_STRANKA_URI"; -echo "Soubor: $XWG_STRANKA_SOUBOR"; -echo "Nadpis: $XWG_STRANKA_NADPIS"; -echo "Perex: $XWG_STRANKA_PEREX"; -]]> - -

nám vypíše:

- -
- -

Makra ze skriptů

-

- XML generované skriptem může také obsahovat makra, která se následně interptetují. - '; # Ty zrůdo! :-) -echo 'echo "Takže můžeš skriptovat, když skriptuješ,";'; -echo ''; - ]]> - nebo dělat něco užitečnějšího. -

- - \n"; -print " node [shape=\"box\"];\n"; -print " koren [label=\"Uživatelská makra\"];\n"; - -opendir(DIR, $adresar) or die $!; -my $i = 0; -while (readdir(DIR)) { - next if (/^\./); - # Měli bychom ošetřit zvláštní znaky v názvech souborů, - # abychom nezpůsobili chybu GraphVizu. - print " n$i [label=\"$_\"];\n"; - print " koren -> n$i;\n"; - $i++; -} - -print ""; -closedir(DIR); - ]]> - -

…třeba vygenerovat tento diagram následujícím perlovským skriptem:

- - \n"; -print " node [shape=\"box\"];\n"; -print " koren [label=\"Uživatelská makra\"];\n"; - -opendir(DIR, $adresar) or die $!; -my $i = 0; -while (readdir(DIR)) { - next if (/^\./); - # Měli bychom ošetřit zvláštní znaky v názvech souborů, - # abychom nezpůsobili chybu GraphVizu. - print " n$i [label=\"$_\"];\n"; - print " koren -> n$i;\n"; - $i++; -} - -print ""; -closedir(DIR);]]> - -

- Který vložíme zabalený v  … ]]> do stránky. -

-

- 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í). -

- -

Makra ve skriptech

- -

- Uvnitř zdrojového kódu skriptu můžeme používat jiná makra. - Např. tento kód: -

- - - - print "Náš podnik se jmenuje "; - -]]> - -

- nám vygeneruje: -

- -

-				print "Náš podnik se jmenuje ";
-		
- -

- Můžete si tak vytvořit makra pro opakující se části - a používat je jak v textu stránek, tak ve skriptech nebo diagramech. - Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, - je dobré ho zabalit ještě do jedné značky, která se postará o escapování - pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). - -

- -

- Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu - – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy - a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu. -

- -

-			echo "S naší  budete jistě spokojeni!";
-			echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
-		
- -

- Zdrojový kód: -

- - - - - echo "S naší budete jistě spokojeni!"; - echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; - -]]> - -

- Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text, - který by šlo vložit přímo do XML stránky - – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-) -

- -

Skripty v makrech

-

- Uvnitř definic maker můžeme volat - Ovšem trochu jiným způsobem, než ve stránkách – - nacházíme se totiž v programu (XSL šablona definující makro) - nikoli v datovém souboru (XML stránka). - - jiná makra – mj. skripty. - Toho jsme využili v makru, které generuje tabulku verzí z mercurialu - – ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT. -

- - - -

- Toto makro naleznete v souboru vstup/makra/hg-verze.xsl. -

- -

Vnořování maker

-

- Trochu jiný případ je vnořování maker na stránce. - Např. si chceme vypsat vybrané internetové služby: -

- - ) { - if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { - print "$2\t$1\t$3\n"; - } -} - ]]> - - -

- Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky: -

- - - ) { - if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { - print "$2\t$1\t$3\n"; - } - } - ]]]]>> -]]> - -

- Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory) - a o převod na XHTML tabulku se postará XSL šablona. -

- - - -

- Podobně bychom mohli postupovat i u diagramu – - negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část. - Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky. -

- -

- Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn - pomocí značky <m:pre jazyk="…"/>. - Toho využíváme na stránce Zdrojové kódy v případě SQL a XML ukázek. - Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část. -

- -
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/služby.xml --- a/vstup/služby.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - Služby - Co poskytujeme. - 30 - - - -

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.

-

Morbi et magna a ligula pulvinar posuere. Podívejte se také na naše zdrojové kódy. 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.

- -

Pravidelné krmení ptáků

-

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.

- - - Velikost ptáka Cena za jedno krmení - malý 250 - střední 500 - velký 1000 - - -

Dodáváme pouze prvotřídní krmivo.

- - -Pravidelné krmení savců ------------------------ - -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. - -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. - -Dodáváme pouze prvotřídní krmivo. - - -

Jednorázová výměna podestýlky

-

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.

-

Účtováno hodinovou sazbou. Cena je závislá na míře zahnojení systému. Někdy je nutná úplně nová stavba klece nebo kotce.

-
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/telefonní-seznam.csv --- a/vstup/telefonní-seznam.csv Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -Osoba;Místnost;Telefon -pan továrník (majitel);1;+420 604 123456 -pan ředitel;2;+420 604 123654 -slečna sekretářka;2;+420 604 123465 -Linuxový guru;3;+420 604 123546 -Softwarový architekt;4;+420 604 123645 diff -r eec920c4bddf -r 4d33f14e99dd vstup/web.conf --- a/vstup/web.conf Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ - - Chovatelská stanice tučňáků - vše pro tučňáky - - František Kučera - nereknu_nechci_spam@example.com - - - - - - https://frantovo.cz/projekty/xml-web-generator/demo1/ - - - 399a714c-956e-444c-a8f4-afe8f0df802a - - - PokusnyWeb123 - - - css/styl.css - css/syntaxe.css - js/skript.js - - - - - - - diff -r eec920c4bddf -r 4d33f14e99dd vstup/zdrojáky.xml --- a/vstup/zdrojáky.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ - - Zdrojové kódy - Ukázka našich zdrojových kódů. - 40 - - - -

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.

-

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.

- -

C++

-

Ukázka převzatá ze stránky Zdrojový kód:

- - -using namespace std; - -int main(int argc, char *argv[]) { - - cout << "Chcete slyšet vtip?" << endl; - char odpoved = cin.get(); - cin.get(); - - if (odpoved == 'a') { - cout - << "Lidé se dělí do 10 skupin." << endl - << "Na ty, kteří rozumějí binárnímu kódu, " - << "a na ty ostatní." << endl; - return 0; - } else if (odpoved == 'n') { - cout << "Dobře, tak ne." << endl; - return 0; - } else { - cout - << "Nerozumím odpovědi " - << "– očekávám „ano“ nebo „ne“." << endl; - return 1; - } -}]]> - -

Java

- - - cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}'; - - -

XML

- -

- Zdroják aktuální stránky – upravený a zkrácený pomocí skriptu: -

- -# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být. -# TODO: opravit to tam (zřejmě špatný regulární výraz). - -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8; -echo -e "\t\t… zkráceno …"; -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4; - -# Případně: -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8; -# echo -e "\t\t… zkráceno …"; -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4; - - -

Další ukázka XML: tabulka.xsl.

- -

BASH

- - - -

SQL

- -

- Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí skriptu, - a poté zvýrazněn. -

- - - -

Chyby

- -

Následující ukázky kódu nebudou zvýrazněné:

- - Nepodporovaný jazyk → syntaxe nebude zvýrazněna <blee/> - - #!/bin/bash -# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí -# <blee/> - -

Objekty

- -

- Při vývoji softwaru používáme OOP. -

- - - -
- -
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/záhlaví.inc --- a/vstup/záhlaví.inc Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ - - - - - - diff -r eec920c4bddf -r 4d33f14e99dd vstup/zápatí.inc --- a/vstup/zápatí.inc Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ - - -

- Poháněno tučňákem. Vytvořeno pomocí XML Web generátoru. Používá XML, XSLT, Ant a další dobroty. -

-
-
- diff -r eec920c4bddf -r 4d33f14e99dd vstup/šachy.xml --- a/vstup/šachy.xml Sun Jul 08 12:55:27 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ - - Šachy - Královská hra. - - - - -   a b c d e f g h - 8 ♖ ♘ ♗ ♔ ♕ ♗ ♘ ♖ - 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ - 6                 - 5                 - 4                 - 3                 - 2 ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ - 1 ♜ ♞ ♝ ♚ ♛ ♝ ♞ ♜ - - - - - -