root/vstup/skriptování.xml @ 94:4b3ba32f613c

Revision 94:4b3ba32f613c, 2.7 KB (checked in by František Kučera <franta-hg@…>, 12 years ago)

Skriptování: první verze

Line 
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[
24use strict;
25
26open(JAVA, "<", "šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Skriptování.java") or die $!;
27
28while (<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[
39use strict;
40
41open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"});
42my %skripty;
43
44while (<XML>) {
45        if (/m:skript\s+jazyk="(\w+)"/) {
46                $skripty{$1}++;
47        }
48}
49
50for(keys(%skripty)) {
51        print "$skripty{$_}×\t $_\n";
52}
53                        ]]></m:skript></pre>
54
55                        <h2>BASH</h2>
56                <pre><m:skript jazyk="bash"><![CDATA[
57echo -n "Právě je: ";
58date;
59echo -n "Operační systém: ";
60uname -sir;
61echo -n "SHA-1 otisk zdrojáku této stránky: ";
62sha1sum < $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
69phpinfo();
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">
91echo "URI:    $XWG_STRANKA_URI";
92echo "Soubor: $XWG_STRANKA_SOUBOR";
93echo "Nadpis: $XWG_STRANKA_NADPIS";
94echo "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[
100echo "URI:    $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
101echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
102echo "Nadpis: $XWG_STRANKA_NADPIS";
103echo "Perex:  $XWG_STRANKA_PEREX";
104                ]]></m:skript></pre>
105
106        </text>
107
108</stránka>
109
Note: See TracBrowser for help on using the browser.