-
Aptana Zen Coding v0.1 (beta)
Выпустил первую бета-версию Aptana Zen Coding. Хватайте ее с сайта проекта на Google Code. Там же есть краткая документация по установке и настройке (более полную версию сейчас пишет Вадим).
Все возможности, а также некоторые новые фичи показаны на скринкасте:
37 комментариев

Лично у меня большая часть времени уходит не на набивку кода, а на подумать что собственно набивать будем
Но все равно клевая штука, обязательно себе поставлю. Если что-то можно оптимизировать, то я за то, чтобы это оптимизировать
Да, тут определенно требуется привыкание. Я сам еще не освоился с таким набором кода, но чувствую, что потенциал в этом определенно есть.
Круто! Можно будет описывать чуть ли не весь layout сайта одной, двумя строчками
Ммм, предлагаю устроить соревнования с ценными призами на то, кто быстрее сверстает страницу с помощью Zen Coding
Готов даже проспонсировать эти призы.
И ещё очень удобно хранить какую-нибудь стандартную вёрстку.
Вот эти три строчки - это шаблон с тремя колонками, а вот эти пять строчек - галерея картинок
Круто! Но очень хотелось бы тоже самое для Notepad++
Сейчас планируется сделать порт этого скрипта на Python (для TextMate, Coda, etc.). Если кно-нибудь напишет простенький плагин к NP++, который будет отдавать текущую строчку (или выделение) но внешний скрипт, а потом заменять ее на результат работы скрипта, то будет поддержка и Notepad++
Жаль, что в начале строки не срабатывает замена.
А можете пример показать? Если что, там можно выделить нужный фрагмент и вызвать Expand Abbreviation
Пример строк:
style - alt+e не сработает
[таб или пробел]style - alt+e сработает
Но если выделить слово и нажать alt+e, тогда сработает в обеих случаях.
Исправил баг. Обновите, пожалуйста, скрипт lib/core.js из SVN.
адрисьпипительная штука! макросы в эклипсе, да и еще так просто и понятно реализованные — это то что нужно.
может заменить:
- 366. return zen_settings.html.expandos[tag_name] || str;
+ 366. return zen_settings.html.expandos[Tag.getRealName(tag_name)] || str;
для того, чтобы работало вот так: bq+, ну или, например tbl+
мелочь, но приятно
пока копался появился еще один вопрос:
21. if (partition != ‘text/html’ && partition != ‘text/xml’) {
что прохого в том, чтобы разрешить выполнять скрипт в любом редакторе? не вижу минусов.
боюсь показаться навязчивым, но все же добавлю
сейчас разворачиваемые элементы должны замыкать аббревиатуру
т.е. вот так сработает div>dl+
а вот так div>dl+>span уже нет. а жаль
тут в принципе все просто, есть только одно но. не получится использовать символ + для определения разворачиваемых тегов, т.к. + используется для построения «братских» элементов. можно заменить + на что-нибудь другое, например на 2 плюса: div>dl++>span, ну или на какой-нибудь %. мне два плюcа в принципе нравится
- abbr = abbr.replace(/([a-z][a-z0-9]*)\+$/i, function(str, tag_name) {
+ abbr = abbr.replace(/([a-z][a-z0-9]*)\+{2}/gi, function(str, tag_name) {
вобщем к шести утра я дописал атрибуты a[href="ya.ru"], фильтры div>a*5:first>strong и все то, о чем писал выше. кому интересно — все в svn: http://code.google.com/p/kulikov-dm/source/browse/trunk/lib/
Все просто замечательно, спасибо.
Хотелось бы иметь возможность возвратиться по иерархии тэгов на предыдущий уровень, примерно так как это делается функцией end() в jquery
В качестве символа возврата к предыдущему элементу можно использовать ‘;’
div#wrap>div#left;>div#right
Как вариант, можно оформить элементы в виде списка:
div#wrap>{div#left,div#right}
Для остальных редакторов будет свой набор инструкций, пока это не готово.
А в остальном: ребята, давайте не будем превращать Zen Coding в новый мета-язык для написания страниц одной строчкой кода
Поверьте, вы гораздо быстрее напишете 3—4 простые аббревиатуры, нежели одну, но сложную. Все эти нововведения вызовут больше вопросов, чем дадут пользы.
Вот например:
a.item*5:first — класс добавится только первому элементу или всем?
a*5:first+span — span добавится после первого элемента или после всех?
Может, pepelsbey одобрит и опишет такие нововведения, но лично мне они не нравятся. Хотя идея с expandos внутри аббревиатуры, в принципе, ничего.
Это просто великолепно. Надо будет попробовать Eclipse. А простые бандлы можно в нем создавать?
Что вы подразумеваете под простыми бандлами?
tdn -> text-decoration:none;
Поддержка CSS будет в следующей версии.
Спасибо за проделанную работу, подобного функционала очень не хватало аптане.
Но у меня лично весь день ушёл на то, чтобы это установить, с другой стороны пересобрал еклипс, что несомненно плюс ( хотябы потому, что aptana стала меньше тупить на больших файлах ).
Дело в том, что у меня не полный пакет плагинов аптаны к еклипсу, а только редакторы, поэтому eclipse monkey там не наблюдалось.
Опишу здесь процесс установки - вдруг комунибудь будет полезно.
Eclipse monkey шёл в комплекте с eclipse 3.3, а вот в 3.4 его упразднили, так же что-то неладное сделали и с dash project, в составе которого существовал eclipse monkey, поэтому найти его у меня не получилось, но я его вытянул из аптаны ( просто все файлы из папок plugins и futures в названии которых встречается monkey + файл com.aptana.ide.scripting_1.2.5.023247.jar ) и подключил в виде плагина, как описано здесь http://izenfire.blogspot.com/2008/09/eclipse.html.
Таким образом получился пунтк меню Scripts и можно подключать Zen Coding, как описано в википедии, но он ещё не заработает, ругаясь на строчку
* DOM: http://localhost/com.aptana.ide.scripting
в файле Expand Abbreviation.js, поэтому её заменил на
* DOM: window
и с завтрашнего дня буду наслаждаться жизнью с Zen Coding)
Собственно, очень против превращения Zen Coding в своеобразный ассемблер. Суть таких трансформаций была в простоте и интуитивности. Знаешь CSS? Значит сможешь писать и HTML в таком стиле.
В общем, это не гиковский мета-язык, заменяющий привычное написание HTML. Это всего лишь помощник для выполнения рутинной работы по набору угловых скобочек и дефолтных атрибутов.
да, я пожалуй согласен что излишняя сложность и «фичастость» скорее будет мешать.
все мои эксперименты были направлены скорее на более детальное изучение механизма реализации, чем на реальное добавление каких-то полезностей.
а на практике самой используемой штукой оказались сниппеты. наделал разных сокращений. причем не только для html-css, но и для популярных smarty-конструкций, а также для некоторых javascript’овых выражений. особенно удобно со смартями получилось.
ладно, поживем увидим насколько оно приживется.
Спасибо, буду использовать
Сергей, подскажи пожалуйста, можно ли вместо alt+e использовать F12 к примеру?
Просмотрел http://aptana.com/docs/index.php/Adding_metadata_to_an_Eclipse_Monkey_script
Похоже для в качестве хоткеев можно использовать только в сочетании с
* M1 (Command or Ctrl)
* M2 (Shift)
* M3 (Option or Alt)
* M4 (Ctrl on Mac)
Или все-таки есть возможность работы скрипта по нажатию F12 (было бы удобнее жать чем alt+e)
можно, например: Key: M2+F3
http://aptana.com/docs/index.php/Eclipse_Monkey_scripting_with_Ruby
а как на счет добавления атрибутов к элементам на подобии
div#hd>h1.logo>a[href=""][title=""]
Этого не будет. Я и Вадим уже написали почему. Но вы можете создать либо новую аббревиатуру, либо синоним (short_tags) элемента и указать ему атрибуты по умолчанию.
Для xslt бы такую штуку.
Или он для шаблонов уже не модный?
Изначально так и задумывалось, но у меня возникли проблемы с WTP-редакторами. Если удастся решить их — будет и для XSLT.
А какую из 5 ссылок качать надо?
ЗЫ. поправьте форума эту, глаза сломать можно шрифт мелкий при наборе
Zen.Coding.любимый_редактор.версия.zip
При установке Аптаны на Эклипс подсветка редактора аптаны в HTML - красно-синяя. На Ваших видео совсем другое. Это как-то можно поменять в настройках? Чтобы цвета остались от стандартного редактора Эклипса или Вы просто импортировали либо указали свой набор цветов?
Я сделал свой набор цветов. Можете им воспользоваться.
Я так и не понял как подключить zencoding к aptana.
Получается, что без установки eclipse нельзя поставить zen?
А зачем мне ставить eclipse, если мне нужна только верстка? >___<