author | František Kučera <franta-hg@frantovo.cz> |
Sat, 23 Jun 2012 18:00:41 +0200 | |
changeset 94 | 4b3ba32f613c |
child 95 | eea9c4713045 |
permissions | -rw-r--r-- |
franta-hg@94 | 1 |
<stránka |
franta-hg@94 | 2 |
xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
franta-hg@94 | 3 |
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> |
franta-hg@94 | 4 |
<nadpis>Skriptování</nadpis> |
franta-hg@94 | 5 |
<perex>Na stránku můžeme vložit výstup skriptů.</perex> |
franta-hg@94 | 6 |
|
franta-hg@94 | 7 |
<text xmlns="http://www.w3.org/1999/xhtml"> |
franta-hg@94 | 8 |
|
franta-hg@94 | 9 |
<p> |
franta-hg@94 | 10 |
Na stránkách můžeme používat skripty. |
franta-hg@94 | 11 |
Spouští se při generování a jejich standardní výstup se vloží do stránky. |
franta-hg@94 | 12 |
Třeba doprostřed ostavce nebo do jiného elementu. |
franta-hg@94 | 13 |
</p> |
franta-hg@94 | 14 |
<p> |
franta-hg@94 | 15 |
Příklad: |
franta-hg@94 | 16 |
Tyto stránky byly vygenerované v systému <m:skript jazyk="bash">uname -o</m:skript>. |
franta-hg@94 | 17 |
</p> |
franta-hg@94 | 18 |
|
franta-hg@94 | 19 |
<p> |
franta-hg@94 | 20 |
V současnosti jsou podporované tyto jazyky: |
franta-hg@94 | 21 |
</p> |
franta-hg@94 | 22 |
|
franta-hg@94 | 23 |
<pre><m:skript jazyk="perl"><![CDATA[ |
franta-hg@94 | 24 |
use strict; |
franta-hg@94 | 25 |
|
franta-hg@94 | 26 |
open(JAVA, "<", "šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Skriptování.java") or die $!; |
franta-hg@94 | 27 |
|
franta-hg@94 | 28 |
while (<JAVA>) { |
franta-hg@94 | 29 |
#i.put("bash", "/bin/bash"); |
franta-hg@94 | 30 |
if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { |
franta-hg@94 | 31 |
print "$1\n"; |
franta-hg@94 | 32 |
} |
franta-hg@94 | 33 |
} |
franta-hg@94 | 34 |
]]></m:skript></pre> |
franta-hg@94 | 35 |
|
franta-hg@94 | 36 |
<h2>Perl</h2> |
franta-hg@94 | 37 |
<p>Jazyky použité nebo citované na této stránce:</p> |
franta-hg@94 | 38 |
<pre><m:skript jazyk="perl"><![CDATA[ |
franta-hg@94 | 39 |
use strict; |
franta-hg@94 | 40 |
|
franta-hg@94 | 41 |
open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}); |
franta-hg@94 | 42 |
my %skripty; |
franta-hg@94 | 43 |
|
franta-hg@94 | 44 |
while (<XML>) { |
franta-hg@94 | 45 |
if (/m:skript\s+jazyk="(\w+)"/) { |
franta-hg@94 | 46 |
$skripty{$1}++; |
franta-hg@94 | 47 |
} |
franta-hg@94 | 48 |
} |
franta-hg@94 | 49 |
|
franta-hg@94 | 50 |
for(keys(%skripty)) { |
franta-hg@94 | 51 |
print "$skripty{$_}×\t $_\n"; |
franta-hg@94 | 52 |
} |
franta-hg@94 | 53 |
]]></m:skript></pre> |
franta-hg@94 | 54 |
|
franta-hg@94 | 55 |
<h2>BASH</h2> |
franta-hg@94 | 56 |
<pre><m:skript jazyk="bash"><![CDATA[ |
franta-hg@94 | 57 |
echo -n "Právě je: "; |
franta-hg@94 | 58 |
date; |
franta-hg@94 | 59 |
echo -n "Operační systém: "; |
franta-hg@94 | 60 |
uname -sir; |
franta-hg@94 | 61 |
echo -n "SHA-1 otisk zdrojáku této stránky: "; |
franta-hg@94 | 62 |
sha1sum < $XWG_STRANKA_SOUBOR; |
franta-hg@94 | 63 |
]]></m:skript></pre> |
franta-hg@94 | 64 |
|
franta-hg@94 | 65 |
<!-- |
franta-hg@94 | 66 |
<h2>PHP</h2> |
franta-hg@94 | 67 |
<pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[ |
franta-hg@94 | 68 |
<?php |
franta-hg@94 | 69 |
phpinfo(); |
franta-hg@94 | 70 |
?> |
franta-hg@94 | 71 |
]]></m:skript></pre> |
franta-hg@94 | 72 |
--> |
franta-hg@94 | 73 |
|
franta-hg@94 | 74 |
<h2>Proměnné prostředí</h2> |
franta-hg@94 | 75 |
<p> |
franta-hg@94 | 76 |
Ve skriptech máme dostupné následující proměnné prostředí: |
franta-hg@94 | 77 |
</p> |
franta-hg@94 | 78 |
|
franta-hg@94 | 79 |
<ul> |
franta-hg@94 | 80 |
<li><code>XWG_STRANKA_URI</code> – URI aktuálně zpracovávané stránky</li> |
franta-hg@94 | 81 |
<li><code>XWG_STRANKA_SOUBOR</code> – absolutní cesta k souboru</li> |
franta-hg@94 | 82 |
<li><code>XWG_STRANKA_NADPIS</code> – nadpis stránky</li> |
franta-hg@94 | 83 |
<li><code>XWG_STRANKA_PEREX</code> – perex stránky</li> |
franta-hg@94 | 84 |
</ul> |
franta-hg@94 | 85 |
|
franta-hg@94 | 86 |
<p> |
franta-hg@94 | 87 |
Kód: |
franta-hg@94 | 88 |
</p> |
franta-hg@94 | 89 |
|
franta-hg@94 | 90 |
<m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash"> |
franta-hg@94 | 91 |
echo "URI: $XWG_STRANKA_URI"; |
franta-hg@94 | 92 |
echo "Soubor: $XWG_STRANKA_SOUBOR"; |
franta-hg@94 | 93 |
echo "Nadpis: $XWG_STRANKA_NADPIS"; |
franta-hg@94 | 94 |
echo "Perex: $XWG_STRANKA_PEREX"; |
franta-hg@94 | 95 |
</m:skript>]]></m:pre> |
franta-hg@94 | 96 |
|
franta-hg@94 | 97 |
<p>nám vypíše:</p> |
franta-hg@94 | 98 |
|
franta-hg@94 | 99 |
<pre><m:skript jazyk="bash"><![CDATA[ |
franta-hg@94 | 100 |
echo "URI: $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
franta-hg@94 | 101 |
echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
franta-hg@94 | 102 |
echo "Nadpis: $XWG_STRANKA_NADPIS"; |
franta-hg@94 | 103 |
echo "Perex: $XWG_STRANKA_PEREX"; |
franta-hg@94 | 104 |
]]></m:skript></pre> |
franta-hg@94 | 105 |
|
franta-hg@94 | 106 |
</text> |
franta-hg@94 | 107 |
|
franta-hg@94 | 108 |
</stránka> |
franta-hg@94 | 109 |