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

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
User avatar
macik
Posts: 42
Joined: Wed 06 Apr, 2011 14:40

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

Post by macik » Tue 11 Sep, 2012 16:22

Фаром пользуюсь очень давно. И его текстовым редактором не в последнюю очередь.
Часто для работы со всевозможными исходными текстами программ.
Еще чаще для правки 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...

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

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

Post by Max Rusov » Tue 11 Sep, 2012 16:35

А для Far есть TrueTemplate, ничуть не хуже

User avatar
Wave
Posts: 1716
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

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

Post by Wave » Tue 11 Sep, 2012 19:12

Портировали бы его под тройку… Я, правда, всё ещё не пересел с двойки, но уже вот-вот.
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
John Doe
Бюрократ
Posts: 11124
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 71 times

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

Post by John Doe » Tue 11 Sep, 2012 19:23

А мне понравилось.
Если TrueTemplate такое умеет это здорово, кто бы ещё поделился конфигами для такого...

Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Contact:

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

Post by Kildor » Wed 12 Sep, 2012 12:24

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

Вообще, я изучал этот вопрос, теоретически к фару можно прикрутить stand-alone zen-coding парсер, то есть передавать строку туда, и заменять её на вывод. Но лично у меня дальше теории дело не пошло, за недостатком времени…
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru

User avatar
John Doe
Бюрократ
Posts: 11124
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 71 times

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

Post by John Doe » Wed 12 Sep, 2012 12:41

Если сам парсер существует, то передать/заменить это уже дело техники.

User avatar
macik
Posts: 42
Joined: Wed 06 Apr, 2011 14:40

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

Post by macik » Thu 13 Sep, 2012 21:45

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

User avatar
macik
Posts: 42
Joined: Wed 06 Apr, 2011 14:40

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

Post by macik » Thu 13 Sep, 2012 22:18

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

User avatar
John Doe
Бюрократ
Posts: 11124
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 71 times

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

Post by John Doe » Fri 21 Aug, 2015 17:46

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

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

User avatar
John Doe
Бюрократ
Posts: 11124
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 71 times

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

Post by John Doe » Sat 01 Oct, 2016 19:37

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

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

Опции можно изменить прямо в начале скрипта, но лучше воспользоваться возможностями cfgscript.
Attachments
sparkup.lua
0.1.1
(3.25 KiB) Downloaded 20 times
Last edited by John Doe on Fri 02 Jun, 2017 07:05, edited 1 time in total.

User avatar
bigvax
Posts: 13
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Contact:

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

Post by bigvax » Sat 22 Apr, 2017 05:30

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 25 times
Last edited by bigvax on Sat 22 Apr, 2017 05:39, edited 1 time in total.
Всегда виртуально Ваш, BigVax

User avatar
John Doe
Бюрократ
Posts: 11124
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 71 times

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

Post by John Doe » Sat 22 Apr, 2017 07:53

bigvax wrote: установить на компе python
Небольшое уточнение: python можно распаковать не устанавливая, в произвольную папку. Он портабельный.

User avatar
bigvax
Posts: 13
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Contact:

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

Post by bigvax » Sat 22 Apr, 2017 15:23

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

Кстати, John Doe - большое спасибо за тулзу - реально сильно помогает!!!
Last edited by bigvax on Sat 22 Apr, 2017 15:32, edited 2 times in total.
Всегда виртуально Ваш, BigVax

Talker
Posts: 34
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 2 times

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

Post by Talker » Thu 01 Jun, 2017 00:22

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 }                                              ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝
Где я ошибся?

2useven10
Posts: 2983
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

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

Post by 2useven10 » Thu 01 Jun, 2017 03:04

Talker, попробуйте установить фар в папку без пробелов.
PS: можно и без установки - распаковать, прочитать и выполнить то что в Far.exe.example.ini, запустить.

Talker
Posts: 34
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 2 times

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

Post by Talker » Thu 01 Jun, 2017 06:52

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 нужно или короткий путь писать или как-то решить бы проблему с длинными путями...

Post Reply

Return to “Предложения и идеи”