Rev Author Line No. Line
4985 kaklik 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 <!-- PermaLink -->
123 <p>
124 Permanentní odkaz:
125 <a href="$InfoPermaLink"
126 title="Permanentní odkaz je zkrácený odkaz na projekt nebo sekci, který se nezmění ani při změně struktury webu.">$InfoPermaLink</a>
127 </p>
128  
129 <table>
130 <tr>
131 <th>Název</th>
132 <th>Náhled</th>
133 <th>Popis</th>
134 <th>Projektová data</th>
135 <th>Možnost nákupu</th>
136 <th>Dokumentace</th>
137 </tr>
138 <!-- Řádky indexu se vkládají sem -->
139 $InfoLine
140 <!-- Formát vkládané řádky -->
141 $InfoLine =
142 "
143 <tr>
144 <td> $InfoName</td>
145 <td> $InfoPicture</td>
146 <td> <p><i> $InfoDescripion</i></p>
147 <p class='Small'> $InfoLongDescription</p></td>
148 <td> $InfoWebSVN <br> $InfoWIKI</td>
149 <td> $InfoBuy</td>
150 <td> $InfoPDF <br> $InfoHTML</td>
151 </tr>
152 "
153 <!-- Formát elementu pro oddělení adresářů a projektů -->
154 $InfoSeparator =
155 "
156 <tr>
157 <td colspan='6'> <hr> </td>
158 </tr>"
159 <!-- Lepidlo pro spojování více odkazů najednou v jedné položce -->
160 $InfoGlue = "<br>"
161 <!-- Co se dává do položek, které nemají obsah -->
162 $InfoNoPicture = "NoPicture.jpg"
163 $InfoNoInfo = "--"
164 $InfoSVNTitle = "Přístup ke všem souborům"
165 $InfoWikiTitle = "Wiki stránka pro modul"
166 </table>
167  
168 </div>
169  
170 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
171 <!-- ============== PATIČKA ============== -->
172 <div class="Footer">
173 <script type="text/javascript">
174 <!--
175 SetRelativePath("/");
176 DrawFooter();
177 // -->
178 </script>
179 <noscript>
180 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
181 </noscript>
182 </div>
183 <!-- AUTOINCLUDE END -->
184  
185 </body>
186 </html>