Page 1 of 2

Zen coding — пишем HTML/CSS быстрее

Posted: Tue 11 Sep, 2012 16:22
by macik
Фаром пользуюсь очень давно. И его текстовым редактором не в последнюю очередь.
Часто для работы со всевозможными исходными текстами программ.
Еще чаще для правки HTML или CSS «на ходу».

Для серьезных текстовых редакторов есть такая замечательная вещь как ZenCoding
Для тех, кто не в курсе, это механизм быстрого набора html и css кода (да и в принципе любого структурированного текста).
Подробнее можно прочитать тут:
http://habrahabr.ru/post/76069/
http://habrahabr.ru/post/115387/
http://habrahabr.ru/sandbox/47691/

Проверить в работе (он-лайн) эту «штуку» можно здесь: http://zen-coding.ru/codemirror/
Сам проект живет на ГитХабе: https://github.com/sergeche/zen-coding


Вот если бы кто-то взялся сделать обертку-плагин для Far...

Re: «Must have» для текстового редактора

Posted: Tue 11 Sep, 2012 16:35
by Max Rusov
А для Far есть TrueTemplate, ничуть не хуже

Re: «Must have» для текстового редактора

Posted: Tue 11 Sep, 2012 19:12
by Wave
Портировали бы его под тройку… Я, правда, всё ещё не пересел с двойки, но уже вот-вот.

Re: «Must have» для текстового редактора

Posted: Tue 11 Sep, 2012 19:23
by John Doe
А мне понравилось.
Если TrueTemplate такое умеет это здорово, кто бы ещё поделился конфигами для такого...

Re: «Must have» для текстового редактора

Posted: Wed 12 Sep, 2012 12:24
by Kildor
Тру-темплейт такого не умеет.
Можно сделать нечто вроде, но это именно нечто. Ибо в ZC есть циклы и условия, к примеру для него легко создать правило, обрабатывающее строки наподобии ul > li+li.test+li, а вот сделать аналогичное для TT — практически невозможно.

Вообще, я изучал этот вопрос, теоретически к фару можно прикрутить stand-alone zen-coding парсер, то есть передавать строку туда, и заменять её на вывод. Но лично у меня дальше теории дело не пошло, за недостатком времени…

Re: «Must have» для текстового редактора

Posted: Wed 12 Sep, 2012 12:41
by John Doe
Если сам парсер существует, то передать/заменить это уже дело техники.

Re: «Must have» для текстового редактора

Posted: Thu 13 Sep, 2012 21:45
by macik
На сколько я понял глянув в исходники - оно полностью на JS.
Тем же есть пример враппера для питона.
А есть вариант плагина для «Notepad++», [как я понял] он как раз реализован как вызов JS файлов через WHS (Windows Scripting Host).

Re: «Must have» для текстового редактора

Posted: Thu 13 Sep, 2012 22:18
by macik
В догонку, если кому будет интересно - вот тут статья про этот самый плагин для Notepad++: http://habrahabr.ru/post/86626/ (возможно подход можно взять на вооружение).

Zen coding — пишем HTML/CSS быстрее

Posted: Fri 21 Aug, 2015 17:46
by John Doe
macik wrote: Вот если бы кто-то взялся сделать обертку-плагин для Far...
Набрёл на форк Zen Coding: https://github.com/rstacruz/sparkup
Написан на питоне, работает из командной строки.
А значит добавить базовую поддержку редактор фара должно быть элементарно.

P.S.
А сам Zen Coding давно уже переименовали в Emmet.

Zen coding — пишем HTML/CSS быстрее

Posted: Sat 01 Oct, 2016 19:37
by John Doe
John Doe wrote: А значит добавить базовую поддержку редактор фара должно быть элементарно.
Собственно вот.
Рядом с файлом макроса надо положить sparkup.py
Требуется python 2/3, путь к python.exe можно настроить.

Вызывается в редакторе *.html, сочетанием CtrlE, или из меню плагинов.
Примеры использования тут: https://github.com/rstacruz/sparkup/#us ... t-examples

Опции можно изменить прямо в начале скрипта, но лучше воспользоваться возможностями cfgscript.

Zen coding — пишем HTML/CSS быстрее

Posted: Sat 22 Apr, 2017 05:30
by bigvax
John Doe wrote:
Собственно вот.
Рядом с файлом макроса надо положить sparkup.py
Требуется python 2/3, путь к python.exe можно настроить.
Для тех, кто по какой-то причине, не хочет или не может установить на компе python, я скомпилил этот sparkup.py в .exe для Windows x64, посредством тулзы py2exe.
В результате получилось 2 файла: sparkup.exe и python27.dll - общим размером: 4 087 448 байт.
А в файле sparkup.lua сделал небольшие изменения:
- в блоке: options {} заменил переменные python и sparkup_py на переменную:

Code: Select all

sparkup_exe = [[путь_к_папке\sparkup.exe]]
- строку:

Code: Select all

local cmdline = (O.python or "python").." "..(O.sparkup_py or path.."sparkup.py").." "..(O.options or "")
заменил на:

Code: Select all

local cmdline = (O.sparkup_exe).." "..(O.options or "")
Проверил - все работает.
sparkup.7z
Архив с скомпилированным exe
(1.65 MiB) Downloaded 23 times

Zen coding — пишем HTML/CSS быстрее

Posted: Sat 22 Apr, 2017 07:53
by John Doe
bigvax wrote: установить на компе python
Небольшое уточнение: python можно распаковать не устанавливая, в произвольную папку. Он портабельный.

Zen coding — пишем HTML/CSS быстрее

Posted: Sat 22 Apr, 2017 15:23
by bigvax
John Doe wrote: Небольшое уточнение: python можно распаковать не устанавливая, в произвольную папку. Он портабельный.
Я знаю ;)
Просто столкнулся с ситуацией, когда надо было на чужой машинке по быстрому поправить веб-страничку, при этом канал был дохлый (на предмет закачки полного питона), а хозяин по каким-то своим трансцендентально-идеалогическим соображениям не хотел иметь python на этой машине...
Ну и сваял это странное поделие на скорую руку, на один-два раза...
А потом подумал - а вдруг еще кому-то понадобится... ;)

Кстати, John Doe - большое спасибо за тулзу - реально сильно помогает!!!

Zen coding — пишем HTML/CSS быстрее

Posted: Thu 01 Jun, 2017 00:22
by Talker
John Doe wrote:
Sat 01 Oct, 2016 19:37
Рядом с файлом макроса надо положить sparkup.py
Требуется python 2/3, путь к python.exe можно настроить.

Вызывается в редакторе *.html, сочетанием CtrlE, или из меню плагинов.
...
Emmet в Фаре это супер!
Но у меня не пошло..
1. положил sparkup.lua и sparkup.py в папку "C:\Users\asus\AppData\Roaming\Far Manager\Profile\Macros\scripts"
2. установил питон и прописал к нему пути (по команде python вызывается из любой папки)
3. перезапустил Far

Далее открываю HTML файл, пишу в нем ul.my-list>li*3 и жму <Ctrl + E> в ответ:

Code: Select all

╔════════════════════════════════════════════ Sparkup ═════════════════════════════════════════════╗
║ python: can't open file 'C:\Users\asus\AppData\Roaming\Far': [Errno 2] No such file or directory ║
║                                                                                                  ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                              { OK }                                              ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝
Где я ошибся?

Zen coding — пишем HTML/CSS быстрее

Posted: Thu 01 Jun, 2017 03:04
by 2useven10
Talker, попробуйте установить фар в папку без пробелов.
PS: можно и без установки - распаковать, прочитать и выполнить то что в Far.exe.example.ini, запустить.

Zen coding — пишем HTML/CSS быстрее

Posted: Thu 01 Jun, 2017 06:52
by Talker
2useven10 wrote:
Thu 01 Jun, 2017 03:04
Talker, попробуйте установить фар в папку без пробелов.
PS: можно и без установки - распаковать, прочитать и выполнить то что в Far.exe.example.ini, запустить.
Да, работает, если в Far.exe.ini указать к примеру:

Code: Select all

UseSystemProfiles=0
UserProfileDir=%APPDATA%\FarManager\Profile
UserLocalProfileDir=%LOCALAPPDATA%\FarManager\Profile
ну и соответственно переименовать
"%APPDATA%\Far Manager" => "%APPDATA%\FarManager"
"%LOCALAPPDATA%\Far Manager" => "%LOCALAPPDATA%\FarManager"

Но нельзя ли скрипт подправить? Я подозреваю что дело в sparkup.lua - там в переменную path нужно или короткий путь писать или как-то решить бы проблему с длинными путями...