<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/tempe/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 20 May 2015 11:52:09 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/tempe/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -137,3 +137,8 @@

     {$ Vlozena sablona: ${\sablona1("ahoj")} a dalsi ${\sablona1("cau")} $}

+
+TEMPE Script
+------------
+
+[Struktura]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Wed, 20 May 2015 11:52:09 -0000</pubDate><guid>https://sourceforge.net24a50202e4bdb59e6659312ce71c86f8f8420c96</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -3,11 +3,11 @@

 TEMPE vznikl ve snaze nahradit TENG (Template ENGine). Základní smysl knihovny je tedy shodný, liší se pouze prostředky vyjadřování.

-TEMPE je šablonovací engine a zároveň jazyk pro vytváření webový stránek nebo formátování dokumentů pomocí šablony a dat které se do šablony doplní. Šablonou se zde rozumí textový soubor nebo i řetězec, který obsahuje "špagetový kód" kde větší část tvoří vizuální prvky napsané v jazyce dokumentu a místy se objevuje vynechávka, kam TEMPE doplní výsledná data.
+TEMPE je šablonovací engine tedy jazyk pro vytváření webový stránek nebo formátování dokumentů pomocí šablony a dat které se do šablony doplní. Šablonou se zde rozumí textový soubor nebo i řetězec, který obsahuje "špagetový kód" kde větší část tvoří vizuální prvky napsané v jazyce dokumentu a místy se objevuje vynechávka, kam TEMPE doplní výsledná data.

-Příklad vynechávky ${prom}
+Příklad vynechávky **${prom}**

-TEMPE však není hloupý doplňovač vynechávek. Obsahuje v sobě jednoduchý skriptovací engine, kterým lze data přímo v šabloně nějakým způsobem dále upravovat, zejména v případech, kdy backend tyto data nedodává a musejí se přímo v šabloně dopočítat.
+TEMPE však není hloupý doplňovač vynechávek. Obsahuje v sobě jednoduchý skriptovací engine (**TEMPE Script**), kterým lze data přímo v šabloně nějakým způsobem dále upravovat, zejména v případech, kdy backend tyto data nedodává a musejí se přímo v šabloně dopočítat.

 Následující dokumentace by měla přiblížit práci v TEMPE

@@ -16,9 +16,9 @@

 V závislosti na nastavení knihovny, šablona může začínat jak ve stavu skriptu, tak ve stavu šablony. Pokud je ve stavu šablony, předpokládá se, že dokument šablony začíná obsahem, který se má přímo přepsat na výstup a do něho jsou vloženy vynechávky. Pokud se začíná ve stavu skriptu, nejprve se text interpretuje jako skript a je třeba do režimu šablony přejít.

-Přejít do režimu šablony "{$"
+Přejít do režimu šablony **"{$"**

-Ukončit režim šablony "$}"
+Ukončit režim šablony **"$}"**

 Na rozdíl od běžných zvyklostí, šablony lze do sebe zanořovat, je třeba chápat znaky {$ a $} jako závorky. Vždy je třeba ukončit všechny zanořené šablony

@@ -40,6 +40,8 @@
 Ve slovníku následne definujeme YOUR_NAME jako Vaše jméno. Proměnná "jmeno" se pak doplní do textu a výsledkem může být řetězec

     Vaše jméno: Ondra
+
+*(Znak '$' funguje jako escape znak. Používá se právě jediný znak aby se maximálně redukovala nutnost escapovat uvnitř šablon. Escape sekvence jsou ${ - začátek vynechávky, $} - konec šablony, $$ - znak $ a pak $ následovaný libovolným znakem a ukončen opět $ čímž se vyznačuje slovníková vynechávka)*

 Implicití a explicitní konverze
 --------------------------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Wed, 20 May 2015 11:50:50 -0000</pubDate><guid>https://sourceforge.net0b5e03ffd11ff6fe1a548f090300cd4e087e870d</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -116,3 +116,22 @@

 (po sformátování výstupu)

+Šablona jako funkce
+-------------------
+
+Skriptovací jazyk považuje šablony za jazykové konstrukty a proto lze s nimi pracovat na úrovni skriptu. Šablona je objekt, který vrací svůj obsah. Pokud tedy napíšeme
+
+    prom:={$ Toto je šablona s hodnotou: ${prom2}$} 
+
+Pak se do "prom" uloží výsledný text šablony s doplněnou vynechávkou. Proměnnou "prom" lze posléze vkládat do jiné šablony.
+
+Díky možnosti ve skriptovacím jazyce vytvářet funkce, lze šablonu vytvořit jako funkci.
+
+    sablona1:=function(in prom2) 
+        {$ Toto je šablona s hodnotou: ${prom2}$} 
+    end
+
+Šablonu lze vložit do jiné šablony
+
+    {$ Vlozena sablona: ${\sablona1("ahoj")} a dalsi ${\sablona1("cau")} $}
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Wed, 20 May 2015 08:09:16 -0000</pubDate><guid>https://sourceforge.netb1d2fc96a40f85ec4bec526752ce6495313bcd84</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -90,5 +90,29 @@

+Vnořené šablony a opakování
+----------------------------
+
+Často je nutné vložit část šablony opakovaně podle počtu dat. Počet opakování se řídí proměnnou, která obsahuje pole objektů. Proměnná se v programu vytváří jako JSON-array obsahující položky JSOIN-object. Pro každou položku je vytvořen [scope] a v něm provedena šablona včetně nahrazování vynechávek
+
+    {$html\${\frag prom {$html\$}}&lt;table&gt;&lt;tr&gt;&lt;td&gt;${sloupec1}&lt;/td&gt;&lt;td&gt;${sloupec2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;$}

+V zápisu "${\frag" představuje vložení fragmentu s vypnutím escapováním. Následuje proměnná, která se má zpracovat a šablona, která se má provést pro každý řádek v proměnné frag. Proměnné "sloupec1" a "sloupec2" jsou položkamy každého prvku pole, například takto
+
+    {
+         "prom": [
+                  {"sloupec1":10, "sloupec2":"aaaa"}, 
+                  {"sloupec1":20, "sloupec2":"bbbb"},
+                 ]
+    }
+
+výsledek
+
+    
+         
+         
+    &lt;table&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;aaaa&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;bbbb&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/table&gt;
+
+(po sformátování výstupu)
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Wed, 20 May 2015 07:37:32 -0000</pubDate><guid>https://sourceforge.net0ba9c62f7788d482fe3e73fd646db94a4e80143c</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -13,3 +13,82 @@

 Vynechávky 
 --------------
+
+V závislosti na nastavení knihovny, šablona může začínat jak ve stavu skriptu, tak ve stavu šablony. Pokud je ve stavu šablony, předpokládá se, že dokument šablony začíná obsahem, který se má přímo přepsat na výstup a do něho jsou vloženy vynechávky. Pokud se začíná ve stavu skriptu, nejprve se text interpretuje jako skript a je třeba do režimu šablony přejít.
+
+Přejít do režimu šablony "{$"
+
+Ukončit režim šablony "$}"
+
+Na rozdíl od běžných zvyklostí, šablony lze do sebe zanořovat, je třeba chápat znaky {$ a $} jako závorky. Vždy je třeba ukončit všechny zanořené šablony
+
+Příklad:
+
+    {$ Toto je text, který se přímo opíše na výstup $}
+
+
+Vložení vynechávky lze provést několikerým způsobem
+
+    ${prom}  - výstup proměnné
+    ${ ... }  - výstup skriptu 
+    $prom$ - výstup globální proměnné
+
+Při použití vynechávky se obsah proměnné přímo přepisuje na výstup. Místo proměnné lze ale vložit i delší skript, který po provedení vloží do místa vynechávky výsledek skriptu. Třetí způsob se používá pro vkládání textů ze slovníků. Slovník je realizován v globálním scope (viz dále), do textu se vloží obsah proměnné, pokud existuje, pokud neexistuje, pouze se proměnná vloží do textu
+
+    {$ $YOUR_NAME$: ${jmeno} $}
+
+Ve slovníku následne definujeme YOUR_NAME jako Vaše jméno. Proměnná "jmeno" se pak doplní do textu a výsledkem může být řetězec
+
+    Vaše jméno: Ondra
+
+Implicití a explicitní konverze
+--------------------------------
+
+Při návrhu engine bylo myšleno i na to, že bude potřeba vkládat text, který by mohl narušit formátování dokumentu vyhrazenými znaky. Proto šablony umožňují specifikovat typ výsledného formátu a tím zajistit konverze textu a escapování. Na začátek šablony nebo vynechávky lze specifikovat formát, do kterého se má výsledek převést. 
+
+Začátek šablony  určuje, v jakém formátu je celá šablona
+
+    {$\ Tato šablona je v prostém textu, žádné escapování
+    {$html\ Tato šablona je v HTML, escapuj špičaté závorky
+    {$xml\ Tato šablona je v HTML, escapuj špičaté závorky
+    {$js\ Tato šablona je Javascript, escapuj uvozovky
+    {$uri\ Tato šablona je URL, proveď url-enkódování
+    {$base64\ Tato šablona je base64
+    {$hex\ Tato šablona obsahuje HEX čísla
+    {$void\ Způsobí, že se všechny vynechávky nahradí prázdnem
+
+Specifikování formátu na začátku šablony postihne všechny vynechávky v šabloně. Tomu se říká implicitní konverze. Formát lze však specifikovat i explicitně přímo ve vynechávce
+
+    ${html\prom}
+
+Výše uvedený zápis zapíše na výstup obsah proměnné escapovanou do HTML
+
+    ${\prom}
+
+Výše uvedený zápis zapíše obsah proměnné tak jak je, bez escapování
+
+    ${void\ ... }
+
+Výše uvedený zápis nezapíše nic. Hodí se, pokud potřebujeme, aby skript něco spočítal, ale nezapisoval výsledek do šablony
+
+Specifikaci formátu lze použít i u slovníkové vynechávky
+
+    $html\YOUR_NAME$
+
+Změna formátu uprostřed šablony
+--------------------------------
+
+Pokud je třeba měnit formát uprostřed šablony, lze použít vložení šablony do šablony
+
+    {$html\ šablona v html ${\{$js\ šablona v javascriptu $}} pokračuje šablona v html $}
+
+Jedná se vlastně o vnoření vynechávky, která obsahuje šablonu. Zpětné lomítko v zápise ${\${ vypíná escapování html, jinak by se výsledná šablona escapovala do html. 
+
+Další možností je použít operátor + a sloučit dvě šablony 
+
+    {$html\ šablona v html $}+{$js\ šablona v javascriptu $}
+
+
+
+
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Tue, 19 May 2015 15:56:56 -0000</pubDate><guid>https://sourceforge.net6e1e5f049c86f2f1aedaf5253ec3f157d8528f45</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,15 @@
-Welcome to your wiki!
+Tempe = TEMPlate Engine
+========================

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+TEMPE vznikl ve snaze nahradit TENG (Template ENGine). Základní smysl knihovny je tedy shodný, liší se pouze prostředky vyjadřování.

-The wiki uses [Markdown](/p/tempe/wiki/markdown_syntax/) syntax.
+TEMPE je šablonovací engine a zároveň jazyk pro vytváření webový stránek nebo formátování dokumentů pomocí šablony a dat které se do šablony doplní. Šablonou se zde rozumí textový soubor nebo i řetězec, který obsahuje "špagetový kód" kde větší část tvoří vizuální prvky napsané v jazyce dokumentu a místy se objevuje vynechávka, kam TEMPE doplní výsledná data.

-[[members limit=20]]
-[[download_button]]
+Příklad vynechávky ${prom}
+
+TEMPE však není hloupý doplňovač vynechávek. Obsahuje v sobě jednoduchý skriptovací engine, kterým lze data přímo v šabloně nějakým způsobem dále upravovat, zejména v případech, kdy backend tyto data nedodává a musejí se přímo v šabloně dopočítat.
+
+Následující dokumentace by měla přiblížit práci v TEMPE
+
+Vynechávky 
+--------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Tue, 19 May 2015 15:30:46 -0000</pubDate><guid>https://sourceforge.net84df9be0b4c1216bf5745ec6964edd83d05ea8ab</guid></item><item><title>Home modified by BredySoft</title><link>https://sourceforge.net/p/tempe/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/tempe/wiki/markdown_syntax"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/bredysoft"&gt;BredySoft&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-555b3b4085540d1345ae1971" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BredySoft</dc:creator><pubDate>Tue, 19 May 2015 13:31:44 -0000</pubDate><guid>https://sourceforge.net73127071583cdfb91b9b4fdc29eba7e42bfd12bd</guid></item></channel></rss>