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