Тема: Snakeskin
Показать сообщение отдельно
  #168 (permalink)  
Старый 08.08.2014, 14:27
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сделал демку 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 /// просто текст
{/}
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 08.08.2014 в 14:54.
Ответить с цитированием