Сделал демку RC версии Snakeskin 4, можно поиграться.
http://jsfiddle.net/kobezzza/NAPWB/10/
Описание Jade-Like синтаксиса
Резюме:
В Snakeskin директивы размещаются в { ... }
{template foo()}
...
{/}
В некоторых случаях использовать такую форму не удобно (например для генерации JS-скрипта), поэтому была введена расширенная форма #{ ... }, которая работает по принципу: все вложенные директивы также должны использовать такую форму.
{template foo()}
#{script js}
var a = {b: #{1 + 2}};
#{/}
{/}
В Jade-Like вместо юзает - и #
- template foo()
# script js
var a = {b: #{1 + 2}};
Но также у некоторых директив есть короткая форма, например, у void (?), tag(<) и т.д.
{template foo()}
{?alert(1)} /// тоже самое, что и {void alert(1)}
{/}
В JadeLike можно использовать эти сокращения и не писать -
- template foo()
? alert(1) /// вместо - void alert(1) или - ? alert(1)
#? alert(1) /// расширенная форма
Чтобы юзать Jade-Like вне шаблона, то просто берём и пишем
- var a = 1
- if a
- global b = 2
Синтаксис можно совмещать
- var a = 1
{if a}
- global b = 2
{/}
Но при декларации шаблона, чтобы юзать Jade-Like необходимо саму декларацию также заюзать в таком синтаксисе
- template foo()
- var a = 1
|- var a = 1 /// специальный символ | означает, что это текст, а не начало директивы
{template foo()}
- var a = 1 /// просто текст
{/}