Подсветка синтаксиса (фильтры для кода)

Главные вкладки

Аватар пользователя .poltergeist .poltergeist 29 марта 2015 в 20:05

Рано или поздно все в веб-разработке сталкиваются с подсветкой синтаксиса и красивой версткой (на автомате) используемого в материале исходника, будь это sql запросы или команды bash — не суть — важна читаемость, красота; как следствие конверсия и глубина просмотра, а значит качество и вклад в развитие рунета Biggrin

Я решил посмотреть, что есть готового для седьмой версии друпала, уяснить +/- найденных решений и найти оптимальный для своего скромного сайта со справочной информацией, кейсами прекрасными леди и преферансом.

BUEditor
т.к. WYSIWYG я не перевариваю (мне он не нужен), для собственных проектов использую [module=bueditor] в целях уменьшения ручного ввода разметки. из коробки есть батон CODE, обрамляет указанное в <pre><?php phpinfo(); ?></pre> Подсветки нет (на drupal.ru используется code, точнее это [module=geshifilter] встроенный в редактор. BUEditor позволяет создавать собственные кнопки со сравнительно малыми трудозатратами (капитан очевидность у руля) и использовать библиотеки, например Syntax Highlighter для подсветки в back-end'e. В отличие от тега pre дополнительные пробелы внутри контейнера code не учитываются, так же, как и переносы текста. Но это другая опера.

BUEditor + GeSHi Filter
[module=geshifilter] подключает библиотеку http://qbnz.com/highlighter/

Установка
$drush dl geshifilter
Project geshifilter (7.x-1.2) downloaded to sites/all/modules/geshifilter. [success]
Project geshifilter contains 2 modules: geshifield, geshifilter.
$ drush en geshifilter
The following projects have unmet dependencies: [ok]
geshifilter requires libraries
Would you like to download them? (y/n): y
Project libraries (7.x-2.2) downloaded to sites/all/modules/libraries. [success]
The following extensions will be enabled: geshifilter, libraries
Do you really want to continue? (y/n): y
geshifilter was enabled successfully. [ok]
libraries was enabled successfully. [ok]
GeSHi filter is installed. You should now configure the GeSHi filter and enable it in the [status]
desired text formats.
$ wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi...
$ tar -xzf GeSHi-1.0.8.11.tar.gz

В админке переходим к настройке фильтров и включаем поддержку GeSHi. Готово, и танцев с бубном не потребовалось.

3. highlightjs (на клиенте)
[module=highlightjs]

не использовал, если есть что сказать про этот вариант — предлагаю обсудить в комментариях

4. [module=codefilter]
простой и деревянный, то что на d.org

2be continued
давайте перетрем))

Комментарии