2 xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
3 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
4 <nadpis>Skriptování</nadpis>
5 <perex>Na stránku můžeme vložit výstup skriptů.</perex>
7 <text xmlns="http://www.w3.org/1999/xhtml">
10 Na stránkách můžeme používat skripty.
11 Spouští se při generování a jejich standardní výstup se vloží do stránky.
12 Třeba doprostřed textu ostavce nebo do jiného elementu.
17 Tyto stránky byly vygenerované v systému
18 <span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
23 Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah.
24 Tato funkce ale může být nebezpečná – pokud byste spustili generátor na stránkách,
25 které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
26 Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
29 <h2>Podporované jazyky</h2>
31 V současnosti jsou podporované tyto jazyky:
42 <m:skript jazyk="perl" výstup="xml"><![CDATA[
45 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
48 #i.put("bash", "/bin/bash");
49 if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
50 print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n";
58 <p>Jazyky použité nebo citované na této stránce:</p>
59 <pre><m:skript jazyk="perl"><![CDATA[
62 open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"});
66 if (/m:skript\s+jazyk="(\w+)"/) {
72 print "$skripty{$_}×\t $_\n";
77 <pre><m:skript jazyk="bash"><![CDATA[
80 echo -n "Operační systém: ";
82 echo -n "SHA-1 otisk zdrojáku této stránky: ";
83 sha1sum < $XWG_STRANKA_SOUBOR;
88 <pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
95 <h2>Proměnné prostředí</h2>
97 Ve skriptech máme dostupné následující proměnné prostředí:
108 <m:skript jazyk="perl" výstup="xml"><![CDATA[
111 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
114 #i.put("bash", "/bin/bash");
115 if (/"(.*)=".*\/\/\s+env:(.*)/) {
116 print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
127 <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
128 echo "URI: $XWG_STRANKA_URI";
129 echo "Soubor: $XWG_STRANKA_SOUBOR";
130 echo "Nadpis: $XWG_STRANKA_NADPIS";
131 echo "Perex: $XWG_STRANKA_PEREX";
132 </m:skript>]]></m:pre>
136 <pre><m:skript jazyk="bash"><![CDATA[
137 echo "URI: $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
138 echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
139 echo "Nadpis: $XWG_STRANKA_NADPIS";
140 echo "Perex: $XWG_STRANKA_PEREX";