6 |
6 |
7 <text xmlns="http://www.w3.org/1999/xhtml"> |
7 <text xmlns="http://www.w3.org/1999/xhtml"> |
8 |
8 |
9 <p> |
9 <p> |
10 Na stránkách můžeme používat skripty. |
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. |
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. |
12 Třeba doprostřed textu ostavce nebo do jiného elementu. |
13 </p> |
13 </p> |
14 <p> |
14 <p> |
15 Příklad: |
15 Příklad: |
16 Tyto stránky byly vygenerované v systému <m:skript jazyk="bash">uname -o</m:skript>. |
16 <em> |
|
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>. |
|
19 </em> |
|
20 </p> |
|
21 |
|
22 <p> |
|
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>. |
|
27 </p> |
|
28 |
|
29 <h2>Podporované jazyky</h2> |
|
30 <p> |
|
31 V současnosti jsou podporované tyto jazyky: |
17 </p> |
32 </p> |
18 |
33 |
19 <p> |
34 <table> |
20 V současnosti jsou podporované tyto jazyky: |
35 <thead> |
21 </p> |
36 <tr> |
22 |
37 <td>Jazyk</td> |
23 <pre><m:skript jazyk="perl"><![CDATA[ |
38 <td>Interpret</td> |
|
39 </tr> |
|
40 </thead> |
|
41 <tbody> |
|
42 <m:skript jazyk="perl" výstup="xml"><![CDATA[ |
24 use strict; |
43 use strict; |
25 |
44 |
26 open(JAVA, "<", "šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Skriptování.java") or die $!; |
45 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; |
27 |
46 |
28 while (<JAVA>) { |
47 while (<JAVA>) { |
29 #i.put("bash", "/bin/bash"); |
48 #i.put("bash", "/bin/bash"); |
30 if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { |
49 if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { |
31 print "$1\n"; |
50 print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n"; |
32 } |
51 } |
33 } |
52 } |
34 ]]></m:skript></pre> |
53 ]]></m:skript> |
|
54 </tbody> |
|
55 </table> |
35 |
56 |
36 <h2>Perl</h2> |
57 <h2>Perl</h2> |
37 <p>Jazyky použité nebo citované na této stránce:</p> |
58 <p>Jazyky použité nebo citované na této stránce:</p> |
38 <pre><m:skript jazyk="perl"><![CDATA[ |
59 <pre><m:skript jazyk="perl"><![CDATA[ |
39 use strict; |
60 use strict; |
74 <h2>Proměnné prostředí</h2> |
95 <h2>Proměnné prostředí</h2> |
75 <p> |
96 <p> |
76 Ve skriptech máme dostupné následující proměnné prostředí: |
97 Ve skriptech máme dostupné následující proměnné prostředí: |
77 </p> |
98 </p> |
78 |
99 |
79 <ul> |
100 <table> |
80 <li><code>XWG_STRANKA_URI</code> – URI aktuálně zpracovávané stránky</li> |
101 <thead> |
81 <li><code>XWG_STRANKA_SOUBOR</code> – absolutní cesta k souboru</li> |
102 <tr> |
82 <li><code>XWG_STRANKA_NADPIS</code> – nadpis stránky</li> |
103 <td>Proměnná</td> |
83 <li><code>XWG_STRANKA_PEREX</code> – perex stránky</li> |
104 <td>Význam</td> |
84 </ul> |
105 </tr> |
|
106 </thead> |
|
107 <tbody> |
|
108 <m:skript jazyk="perl" výstup="xml"><![CDATA[ |
|
109 use strict; |
|
110 |
|
111 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; |
|
112 |
|
113 while (<JAVA>) { |
|
114 #i.put("bash", "/bin/bash"); |
|
115 if (/"(.*)=".*\/\/\s+env:(.*)/) { |
|
116 print "<tr><td><code>$1</code></td><td>$2</td></tr>\n"; |
|
117 } |
|
118 } |
|
119 ]]></m:skript> |
|
120 </tbody> |
|
121 </table> |
85 |
122 |
86 <p> |
123 <p> |
87 Kód: |
124 Kód: |
88 </p> |
125 </p> |
89 |
126 |