1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/vstup/skriptování.xml Sat Jun 23 18:00:41 2012 +0200
1.3 @@ -0,0 +1,109 @@
1.4 +<stránka
1.5 + xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
1.6 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
1.7 + <nadpis>Skriptování</nadpis>
1.8 + <perex>Na stránku můžeme vložit výstup skriptů.</perex>
1.9 +
1.10 + <text xmlns="http://www.w3.org/1999/xhtml">
1.11 +
1.12 + <p>
1.13 + Na stránkách můžeme používat skripty.
1.14 + Spouští se při generování a jejich standardní výstup se vloží do stránky.
1.15 + Třeba doprostřed ostavce nebo do jiného elementu.
1.16 + </p>
1.17 + <p>
1.18 + Příklad:
1.19 + Tyto stránky byly vygenerované v systému <m:skript jazyk="bash">uname -o</m:skript>.
1.20 + </p>
1.21 +
1.22 + <p>
1.23 + V současnosti jsou podporované tyto jazyky:
1.24 + </p>
1.25 +
1.26 + <pre><m:skript jazyk="perl"><![CDATA[
1.27 +use strict;
1.28 +
1.29 +open(JAVA, "<", "šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Skriptování.java") or die $!;
1.30 +
1.31 +while (<JAVA>) {
1.32 +#i.put("bash", "/bin/bash");
1.33 + if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
1.34 + print "$1\n";
1.35 + }
1.36 +}
1.37 + ]]></m:skript></pre>
1.38 +
1.39 + <h2>Perl</h2>
1.40 + <p>Jazyky použité nebo citované na této stránce:</p>
1.41 + <pre><m:skript jazyk="perl"><![CDATA[
1.42 +use strict;
1.43 +
1.44 +open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"});
1.45 +my %skripty;
1.46 +
1.47 +while (<XML>) {
1.48 + if (/m:skript\s+jazyk="(\w+)"/) {
1.49 + $skripty{$1}++;
1.50 + }
1.51 +}
1.52 +
1.53 +for(keys(%skripty)) {
1.54 + print "$skripty{$_}×\t $_\n";
1.55 +}
1.56 + ]]></m:skript></pre>
1.57 +
1.58 + <h2>BASH</h2>
1.59 + <pre><m:skript jazyk="bash"><![CDATA[
1.60 +echo -n "Právě je: ";
1.61 +date;
1.62 +echo -n "Operační systém: ";
1.63 +uname -sir;
1.64 +echo -n "SHA-1 otisk zdrojáku této stránky: ";
1.65 +sha1sum < $XWG_STRANKA_SOUBOR;
1.66 + ]]></m:skript></pre>
1.67 +
1.68 + <!--
1.69 + <h2>PHP</h2>
1.70 + <pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
1.71 +<?php
1.72 +phpinfo();
1.73 +?>
1.74 + ]]></m:skript></pre>
1.75 + -->
1.76 +
1.77 + <h2>Proměnné prostředí</h2>
1.78 + <p>
1.79 + Ve skriptech máme dostupné následující proměnné prostředí:
1.80 + </p>
1.81 +
1.82 + <ul>
1.83 + <li><code>XWG_STRANKA_URI</code> – URI aktuálně zpracovávané stránky</li>
1.84 + <li><code>XWG_STRANKA_SOUBOR</code> – absolutní cesta k souboru</li>
1.85 + <li><code>XWG_STRANKA_NADPIS</code> – nadpis stránky</li>
1.86 + <li><code>XWG_STRANKA_PEREX</code> – perex stránky</li>
1.87 + </ul>
1.88 +
1.89 + <p>
1.90 + Kód:
1.91 + </p>
1.92 +
1.93 + <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
1.94 +echo "URI: $XWG_STRANKA_URI";
1.95 +echo "Soubor: $XWG_STRANKA_SOUBOR";
1.96 +echo "Nadpis: $XWG_STRANKA_NADPIS";
1.97 +echo "Perex: $XWG_STRANKA_PEREX";
1.98 +</m:skript>]]></m:pre>
1.99 +
1.100 + <p>nám vypíše:</p>
1.101 +
1.102 + <pre><m:skript jazyk="bash"><![CDATA[
1.103 +echo "URI: $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
1.104 +echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
1.105 +echo "Nadpis: $XWG_STRANKA_NADPIS";
1.106 +echo "Perex: $XWG_STRANKA_PEREX";
1.107 + ]]></m:skript></pre>
1.108 +
1.109 + </text>
1.110 +
1.111 +</stránka>
1.112 +