шперплат е език шаблон граматика, която изглежда, чувства, и работи като Python
натоварване ("URL")
натоварване ("компрес")
DOCTYPE ("HTML")
HTML:
& Nbsp; главата:
& Nbsp; мета (кодировка = "UTF-8")
& Nbsp; мета (име = "демонстрационен прозорец", съдържание = "ширина = устройство за ширина; първоначалния мащаб = 1.0")
& Nbsp; заглавие:
& Nbsp; ако заглавието:
& Nbsp; # docstrings * са * лишен от предхождащото бяло (те трябва да са
& Nbsp; # разчленена), и на първия и последния символ за нов ред се отстранява.
& Nbsp; "" "
& Nbsp; {Title} |
& Nbsp; "" "# низ intepolation е малко по-тежък режим от` .format () `, но по-близки, отколкото различно.
& Nbsp; "Добре дошли" # низовете изискват котировки: - / I * * може да добавите друг начин да направите това ...
& Nbsp; компресирате ("CSS"):
& Nbsp; линк (отн = "стилове", тип = "текст / CSS", HREF = статично ("CSS / reset.css"))
& Nbsp; линк (отн = "стилове", тип = "текст / CSS", HREF = статично ("CSS / welcome.css"))
& Nbsp; скрипт (SRC = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", тип = "текст / JavaScript")
& Nbsp; компресирате ("JS"):
& Nbsp; скрипт (SRC = статично ("JS / underscore.js"), тип = "текст / JavaScript")
& Nbsp; скрипт (SRC = статично ("JS / backbone.js"), тип = "текст / JavaScript")
& Nbsp; ieif 'LT IE 9 ":
& Nbsp; скрипт (SRC = "// html5shiv.googlecode.com/svn/trunk/html5.js", тип = "текст / JavaScript")
& Nbsp; линк (отн = "стилове", тип = "текст / CSS", HREF = статично ("CSS / ie.css"))
& Nbsp; блок ("extra_head") # блокове, и блок наследство? разбира се!
& Nbsp; тялото:
& Nbsp; Разделение (клас = "обвивка", ID = "обвивка") # не стенограмите за клас и ID (все още)
& Nbsp; с глава:
& Nbsp; блок ("удар с глава"):
& Nbsp; р (клас = "лого"):
& Nbsp; блок ("header_title"):
& Nbsp; ако потребител:
& Nbsp; "Добре дошли," {} user.name "
& Nbsp; друго:
& Nbsp; "Добре дошли"
& Nbsp; ако current_member:
& Nbsp; р (клас = "вход"):
& Nbsp; "Добре дошли, {current_member.preferred_name}"
& Nbsp; а (HREF = URL ("излезете")): "Изход"
& Nbsp; NAV:
& Nbsp; ул:
& Nbsp; блок ("НСА"):
& Nbsp; Ли: една (HREF = URL ("Login")): "Вход"
& Nbsp; раздел клас = "трохи":
& Nbsp; блок ("трохи")
& Nbsp; точка (клас = "главната"):
& Nbsp; блок ("съобщения"):
& Nbsp; ако съобщения:
& Nbsp; ул (клас = "Съобщения"):
& Nbsp; за съобщение в съобщенията:
& Nbsp; Ли (клас = message.tags): "{} съобщение"
& Nbsp; скрипт:
& Nbsp; # код литерали, така че разбирам редактори да оцветите изходния код
& Nbsp; `` `JavaScript
& Nbsp; $ (документ) .ready (функция () {
& Nbsp; $ ("ul.messages") addClass ("оживяват.");
& Nbsp; Var fade_out = _ (функция () {
& Nbsp; this.addClass ("затъмняване")
& Nbsp;.}) Се свързват ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp;. $ ("Ul.messages") се свързват ("клик", fade_out);
& Nbsp;});
& Nbsp; `` `
& Nbsp; блок ("Съдържание")
& Nbsp; Footer:
& Nbsp; # р:
& Nbsp; # "Това са коментари."
& Nbsp; # участъка: "|"
& Nbsp; # '& копие; 2012 CrossFit "
<Силен> МОНТАЖ
& Nbsp; PIP инсталирате шперплат
& Nbsp; пласта
<Силен> Синтаксис
Всеки ред започва с изявление, което може да бъде или функция (Div, блок) буквалното (',' ''), или декларация за игра (ако, друго, за).
Функции се наричат с аргументите и на "блок":
# аргументи са ((), {}), блок е Block ()
р
# аргументи са ((), {"клас": "разделям"}), блок е Block ()
Разделение (клас = "разделям")
# аргументи са (("автофокус"), {"ID": "био"}), блок е Block (буквален ("Това е моята био"),)
текстовото поле (автофокус, ID = "био"): "Това е моята био"
Дори ако няма "блок", вие ще получите най-малкото най-празен блок обект, който можете да се обадите на block.render. Това ще бъде "falsey", все пак, така че можете да проверите за наличието на един блок. Минималната "truthy" блок е празен низ. Това означава, Разделение '' ще ви даде "truthy" блок, но Разделение ще бъде "falsey" блок.
Можете да разширите глупости от шперплат, защото Разделения, ако, блок, цялата партида, са написани като шперплат разширения. Без вградените разширения, езикът не в действителност може да направи нищо, защото това е в същността си просто един език граматика.
<Силен> ЗАЩО!?!? Силен>
Мисля, че има място за още един език шаблони.
Haml? Coffekup? Jade? Те изглежда не pythonic ми.
Plain-Jane HTML? Разбира се, ако искате. Това е, мисля, най-добрата алтернатива на шперплата.
Дори великият език шаблон Django е HTML направи гадна, като поставите допълнително маркиране. Погледнах Jade и Haml като "Да, вие сте се там", но те не го закове.
Аз съм unapologettically на DIY-ъ-ъ. Мисля, че понякога колела просто трябва да се преоткрива! Плюс това ми даде шанс да играя с езикови граматики, които мисля, че са забавни. Аз съм с Modgrammar
<силни> Изисквания :
- Python
Коментари не е намерена