Tpl.js - 3.5 "Australis"
niedziela, 10 października 2010
{ Tpl.js }
Dotychczas o Tpl.js wspominałem tutaj ledwie dwa razy.
Dla przypomnienia. Tpl.js, to minimalistyczny kompilator szablonów html, zbliżonych składniowo do Smarty'ego, napisany w JavaScript i działający po stronie przeglądarki.
Składnia
Tpl.js obsługuje wyrażenia warunkowe i iteratory. Wyświetlane dane są zabezpieczone przed html injection.
W mocnym skrócie:
${expr [, filter]} {if expr}...[{else}...]{/if} {for i in expr}...{/for}
Myślę że wydanie kolejnej wersji jest dobrą okazją by podzielić się paroma przemyśleniami związanymi z tym narzędziem
Terra Australis Incognita
Na początek parę słów o nazwie.
Od pierwszego dnia miałem problemy z numeracją wersji. Każdą wersję piszę nieomal od początku, bardziej zwracając uwagę na rozmiar kodu niż wsteczną zgodność. Dla tego w ramach urozmaicenia, przyjąłem nazewnictwo na podstawie długości pliku.
- tpl1 "1001" Baśnie Tysiąca i jednej nocy
- tpl2 "white:false, evil:true"
czyli czarna magia. - tpl3 "2010"
To jest długość pliku, rok wydania, oraz...
Odcinek serialu "Stargate SG1" w którym ludzkość stanęła na krawędzi zagłady. Jedynym rozwiązaniem było cofnięcie się w czasie. - tpl3.5 1770 "Australis"
Rok w którym James Cook, jako pierwszy europejczyk, dotarł do Australii od południowo-wschodniej strony.
Strategia rozwoju
Tpl.js jest mały, tak mały że najdrobniejsza przeróbka obejmuje 30% kodu. Dla tego, od trzeciej, wersji powstrzymuję się od wprowadzania zmian, ograniczając się do notowania pomysłów. Wydaje się że to podejście sprawdza się znakomicie.
Rezultatem jest bardziej przemyślana struktura nowego wydania.
Co nowego?
Podobnie jak w przypadku programu Weby, Tpl.js ma teraz odrębną stronę i repozytorium svn:
Usystematyzowałem sposób wyświetlania wyników. W efekcie udało mi się zredukować Tpl.js do 1770 znaków, przy jednoczesnej poprawie funkcjonalności.
Jeśli chodzi o szablony, to przeprosiłem się ze znakiem "$", przy podstawieniu wyniku. Wydaje się że takie rozwiązanie jest zgodne z przyzwyczajeniami wyniesionymi z używania innych narzędzi.
Większość zmian, dotyczy organizacji kodu. W obecnej wersji używanie znaków "{" i "}" (poza wyrażeniami), nie powinno stanowić problemu. Dopuszczalne jest także używanie znaków "$" i "_" w danych JSON.
Więcej, wraz z przykładami, można znaleźć na stronie projektu i wkrótce na repozytorium.
Etykiety: javascript, json, szablony
Red 12:34
Prześlij komentarz