vstup/skriptování.xml
changeset 95 eea9c4713045
parent 94 4b3ba32f613c
child 97 6181a00e0ffd
equal deleted inserted replaced
94:4b3ba32f613c 95:eea9c4713045
     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