Добавляем функцию HTML Beautify/Prettify в Ace!
Всем привет, работая через админку с кодом, часто возмущало, что не могу выровнять код, поэтому постоянно пользовался сторонними сайтами для этого… Но вот моему терпению, настал конец) Решил покопаться в компоненте, поискать, где же там эта функция зарыта?) Скажу так, она там есть, но почему то не работает, в связи с чем, я «прикрутил» стороннюю библиотеку для этого!

Для ленивых, «вшил» функционал в компонент, можете просто скачать его и заменить уже установленный…
Только после скачивания переименуйте архив в: ace-1.9.3-pl.transport.zip
А для тех, кто хочет самостоятельно его добавить:
1) Скачиваем библиотеку beautifier.js и размещаем её в папку
2) Тут же, в этой же папке, открываем
3) Открываем файл:
4) Очищаем кэш сайта.
Готово! Теперь, открыв код чанка или шаблона, жмём Ctrl+Shift+B
Если не работает, возможно опять же дело в кэше, обновите страницу с кэшем
Windows: Ctrl+F5
MacOS: Cmd+Shift+R
P.S. Если Вы не знали, можно открыть у Ace информацию о всех сочетаниях клавиш нажатием: Ctrl+Alt+H
В данный момент ведётся активная работа над MiniShop3 силами сообщества и руками @Николай Савин, поэтому призываю всех неравнодушных поддержать эту работу финансово.

Для ленивых, «вшил» функционал в компонент, можете просто скачать его и заменить уже установленный…
Только после скачивания переименуйте архив в: ace-1.9.3-pl.transport.zip
А для тех, кто хочет самостоятельно его добавить:
1) Скачиваем библиотеку beautifier.js и размещаем её в папку
assets/components/ace
2) Тут же, в этой же папке, открываем
assets/components/ace/modx.texteditor.js
и вставляем после 30 строки: beatify : function() {
var val = this.editor.session.getValue();
var array = val.split(/\n/);
array[0] = array[0].trim();
val = array.join("\n");
val = html_beautify(val);
this.editor.session.setValue(val);
},
далее, после 385 строки новое сочетание клавиш: this.editor.commands.addCommand({
name: "beatify",
bindKey: {win: "Ctrl-Shift-B", mac: "Ctrl-Shift-B"},
exec: this.beatify.bind(this),
readOnly: true
});
3) Открываем файл:
core/components/ace/model/ace/ace.class.php
и вписываем после 38 строки:$this->modx->controller->addJavascript($this->config['assetsUrl'].'beautifier.js');
т.е. перед подключением файла ace/ace.min.js4) Очищаем кэш сайта.
Готово! Теперь, открыв код чанка или шаблона, жмём Ctrl+Shift+B
Если не работает, возможно опять же дело в кэше, обновите страницу с кэшем
Windows: Ctrl+F5
MacOS: Cmd+Shift+R
P.S. Если Вы не знали, можно открыть у Ace информацию о всех сочетаниях клавиш нажатием: Ctrl+Alt+H
В данный момент ведётся активная работа над MiniShop3 силами сообщества и руками @Николай Савин, поэтому призываю всех неравнодушных поддержать эту работу финансово.
Комментарии: 3
Несовсем понятно что имеется ввиду под «часто возмущало, что не могу выровнять код,» ведь в Ace выравнивание работает через таб. Или имеется ввиду аналог Reformat Code из phpStorm?
Таб — это понятно, когда сам пишешь, всё ровно. А если у тебя скопированный внешне код не ровный, выравнивать его табом быстро надоест…
Если ctrl+a и весь код отформатировать полностью, тогда да, круто, спасибо за гайд!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.