Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<p>Text <a href="#">link</a> <b>bold text</b></p> . Есть ещё варианты?pyjade отлично со всем справляется.- load static
!!! 5
html
head
title
block title
body
block menu
for link in links
a(href="{{ link.url }}", class="{% if link.current %}current{% endif %}")
= link.title|truncatechars:"50"
block content
h1 Hello world!
| {% some specific Django template tag. %}Второй вариант кажется более коротким и элегантным.
.event-overview
.row
.columns.large-4
.event-overview-side<div class="event-overview">
<div class="row">
<div class="columns large-4">
<div class="event-overview-side">
...
</div>
</div>
</div>
</div>.some-el
attr-src= 'Что-то длинное и неформатное'
if obj.blabla
attr-class+ blabla
ko-visible: param.variable
ko-click: $root.remove
!= htmlПроще менять иерархию вложенности; более наглядная структура страницы
Проще производить мердж конфликтов в гите
Это темплейтер: extends/block, include, mixins
Генерирует валидный HTML, избавляет тебя от необходимости контролировать закрывающие теги
С Jade с форматированием беда, все придется делать ручками и молиться как бы не нарушить структуру кода.
.foo
.bar
.baz<div class="foo">
<div class="bar">
<div class="baz"></div>
</div>
</div>блок
__элемент
_модификатор








Отсутствие полноценной поддержки в редакторах это один из минусов — весьма существенный
(1), (2) — по этим параметрам можно завернуть любой мало-мальски свежий язык.
(3) — пожалуйста, разъясните, имеется ввиду скомпилированный в JS код? В чем заключается неэффективность?
(5) — конечно можно работать без шаблонизатора, это минус шаблонизатора?
(6) — все таки если работать без редактора — то Jade все таки помогает снизить вероятность получить невалидный HTML с точки зрения закрывающих тегов.
Вложенность — это значимая единица языка, как в python. Те кто пишут на питоне вменяют этому параметру минус?
Но разве плохо использовать этот язык для проектов, где разработчик один? Этот язык настолько плох, что не решает совершенно ни одной задачи?
Вот в случае HTML мне бы пришлось помучаться, т.к. закрывающие теги могут располагаться сильно далеко от открывающих.





К тому же авто-форматирование может привести код не к тому виду, который хотелось бы, особенно в случае больших тегов (много-много аттрибутов).
Это как раз не проблема, IDEA показывает текущую позицию курсора (относительно документа, родителя и текущего элемента — зависит от позиции курсора и выбора элемента):
Если у элемента много модификаторов и прочих атрибутов, которые выставляются по различным условиям, то разметка Jade превращается в «мясо»
PS: У нас получается какой-то спор ради спора, только вот я реально понимаю на собственном опыте, что Jade непригоден для серьезных проектов — вообще не пригоден. Это сложно понять если вы делаете промо-странички, в которых нет тем, модификаторов, массы атрибутов, которые выставляются по условиями и пр.
Не проще. В XML я делаю коллапc блока, затем переношу блок в нужное мне место. Все эти действия IDEA позволяет выполнить либо клавиатурой, либо мышкой. Дале ⌥+⌘+l помогает вернуть требуемое форматирование. С Jade с форматированием беда, все придется делать ручками и молиться как бы не нарушить структуру кода.
Не проще, поскольку опять же упираемся в форматирование.
И что? XML-темплейтеров нет что ли?
У меня были случаи когда JS-код для запуска в рантайме был невалидным (не могу сейчас найти тикет, поскольку проект перенесли)
<ТУТ_МЕНЯЕМ_НАЗВАНИЕ_ТЕГА></ЗДЕСЬ_САМО_ИЗМЕНИТСЯ>.
Тоже самое касается атрибутов, которые IDEA любезно подскажет и пути к файлам зарезолвит.
С XML такого не может случиться в принципе.
Сворачивание блока работает как в Sublime Text 2
Проще, потому что нам не нужно искать закрывающие теги.
Но да, с кодом нужно работать более аккуратным образом в плане отступов. Почему вы этому пункту вменяете недостаток — неясно.
Так и не понял чего не может случиться.
script.
console.log('start log');
for (var i = 0; i < 10; i++) {
console.log('log in for - first row');
}
console.log('finish log');
Туториал по Jade для начинающих