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.

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: , ,

Red 12:34

Komentarze

Prześlij komentarz

Archiwum

Subskrybuj

RSS / Atom