vstup/skriptování.xml
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--
Skriptování: první verze
     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