Rev Author Line No. Line
944 miho 1 <!-- Templejt pro tvorbu indexu -->
2 <!--
3  
4 Templejt
5 ========
6  
7 Tento templejt je zpracováván substitučním strojem, který funguje tak, že
8 provede tyto úkony:
9  
10 - načte templejt (do své paměti)
11 - vyhodí tento komentář (všechny komentáře před první platnou řádkou)
12 - najde v něm všechny proměnné ve tvaru $InfoXXX a zapamatuje si je
13 - najde v něm všechna nastavení proměnných ve tvaru $InfoXXX = "YYY" a zapamatuje si je
14 - vyhodí z templejtu definice proměnných a případný komentář bezprostředně před definicí
15  
16 Poté je možné programem upravit obsah proměnných (typicky se generují
17 data na základě jiných proměnných a dat z disku na webu). Všechny proměnné
18 jsou programu dostupné v podobě pole, kde klíčem je jméno proměnné (bez
19 dolaru) a hodnotou je řetězec (i prázdý). Program může proměnné modifikovat
20 a definovat další (které se nepoužijí nejsou-li v právě použitém templejtu
21 použity).
22  
23 - provede substituci proměnných jejich obsahem
24 - výsledný řetězec - html stránku - předá klientovi
25  
26 Proměnné
27 ========
28  
29 Proměnné jsou definovány pouze v templejtu. Co není v templejtu
30 označeno jako proměnná nenahradí se skutečným obsahem. Aby mohl být
31 templejt přehledný je dovoleno používat víceřádkové obsahy proměnných.
32  
33 Definice hodnot je ve tvaru $InfoXXX = "YYY", kde
34 $InfoXXX je jméno proměnné (XXX jsou písmena, číslice, - a _ )
35 YYY je hodnota proměnné (je v uvozovkách, uvnitř použijte apostrofy)
36  
37 Hodnota proměnné může být na více řádků a může obsahovat odakazy na proměnné,
38 které se nahradí hodnotou těchto proměnných.
39  
40 Definice hodnot proměnných bez jejich použití v templejtu se používá například
41 při definici jazykově závislých řetězců pro program (program je jazykově
42 nezávislý).
43  
44 Substituce
45 ==========
46  
47 Úvodní komentáře na začátku templejtu budou odstraněny.
48  
49 Všechny výskyty proměnných v templejtu budou nahrazeny hodnotou proměnných.
50 Hodnota proměnné může být prázdná, definovaná v templejtu nebo vypočítaná
51 programem. Proměnné mouhou být v templejtu i vícekrát (nahradí se všude).
52  
53 Všechny definice hodnot proměnných se z templejtu odstraní. Nezáleží na místě
54 definice v templejtu. Vícenásobné uvedení hodnoty si (asi) zapamatuje poslední
55 uvedenou hodnotu.
56  
57 -->
58 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
59 <html>
60 <head>
61 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
62 <title> $InfoHeadTitle $InfoSection </title>
63 <meta name="keywords" content="$InfoKeyWords">
64 <meta name="description" content="$InfoDescription">
65 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
66 <link rel="StyleSheet" href="../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
67 <link rel="StyleSheet" href="../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
68 <link rel="shortcut icon" type="image/x-icon" href="../../Web/PIC/MLAB.ico">
69 <script type="text/javascript" src="../../Web/JS/MLAB_Menu.js"></script>
70 <!-- AUTOINCLUDE END -->
71 </head>
72  
73 <body lang="cs">
74  
75 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
76 <!-- ============== HLAVICKA ============== -->
77 <div class="Header">
78 <script type="text/javascript">
79 <!--
80 SetRelativePath("../../");
81 DrawHeader();
82 // -->
83 </script>
84 <noscript>
85 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
86 </noscript>
87 </div>
88 <!-- AUTOINCLUDE END -->
89  
90 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
91 <!-- ============== MENU ============== -->
92 <div class="Menu">
93 <script type="text/javascript">
94 <!--
95 SetRelativePath("../../");
96 DrawMenu();
97 // -->
98 </script>
99 <noscript>
100 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
101 </noscript>
102 </div>
103 <!-- AUTOINCLUDE END -->
104  
105 <!-- ============== TEXT ============== -->
106 <div class="Text">
107  
108 $InfoNoText = "Popis není k dispozici"
109  
110 <p class="Title">
111 $InfoShortDescription
112 </p>
113  
114 <p class="Subtitle">
115 $InfoLongDescription
116 </p>
117  
118 <!-- Klikací řádka s cestou -->
119 <h1 class="Small"> $InfoPath </h1>
120 $InfoPathTitle = "Klikací cesta zpět"
121  
122 <table>
123 <tr>
124 <th>Název</th>
125 <th>Náhled</th>
126 <th>Popis</th>
127 <th>WebSVN</th>
128 <th>HTML</th>
129 <th>PDF</th>
130 </tr>
131 <!-- Řádky indexu se vkládají sem -->
132 $InfoLine
133 <!-- Formát vkládané řádky -->
134 $InfoLine =
135 "
136 <tr>
137 <td> $InfoName</td>
138 <td> $InfoPicture</td>
139 <td> <p><i> $InfoDescripion</i></p>
140 <p class='Small'> $InfoLongDescription</p></td>
141 <td> $InfoWebSVN</td>
142 <td> $InfoHTML</td>
143 <td> $InfoPDF</td>
144 </tr>
145 "
146 <!-- Formát elementu pro oddělení adresářů a projektů -->
147 $InfoSeparator =
148 "
149 <tr>
150 <td colspan='6'> <hr> </td>
151 </tr>"
152 <!-- Lepidlo pro spojování více odkazů najednou v jedné položce -->
153 $InfoGlue = "<br>"
154 <!-- Co se dává do položek, které nemají obsah -->
155 $InfoNoPicture = "NoPicture.jpg"
156 $InfoNoInfo = "--"
157 $InfoSVNTitle = "Přístup ke všem souborům"
158 </table>
159  
160 </div>
161  
162 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
163 <!-- ============== PATIČKA ============== -->
164 <div class="Footer">
165 <script type="text/javascript">
166 <!--
167 SetRelativePath("../../");
168 DrawFooter();
169 // -->
170 </script>
171 <noscript>
172 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
173 </noscript>
174 </div>
175 <!-- AUTOINCLUDE END -->
176  
177 </body>
178 </html>