Подсветка синтаксиса для текстовых областей на стороне администратора (во время редактирования узла или блока) [закрыто]

8

Я пытаюсь найти модуль, который будет выделять HTML (и предпочтительно CSS / JavaScript внутри тегов style / script, но это дополнительный бонус), когда я редактирую узел или блок в административной части Drupal.

Хотя я искал на drupal.org модули подсветки синтаксиса и наткнулся на такие опции, как GeSHi и Syntax Highlighter , похоже, что оба они предназначены для открытого конечного контента, а не для административной стороны. Я не прав и подойдет ли мне один? Я также видел несколько проектов, которые выделяют блоки кода PHP, но это менее важно для меня, чем HTML / CSS / JavaScript.

Я никогда не использую WYSIWYG-редактор для своего собственного HTML, но некоторые выделения будут очень полезны при редактировании моего контента.

phette23
источник
@Molot проверить это drupalmotion.com/article/syntax-highlighting-drupal
Бала
Вопрос @Bala о выделении синтаксиса в редакторе . Текстовые форматы (фильтры) предназначены для отображения . В статье, на которую вы
ссылаетесь,
1
@ Mołot сделает эту тренировку для drupal.org/project/ace_editor для вас, но для редактора кода она выглядит полностью
Bala
@Bala, как отмечалось под вашим ответом, я не мог заставить туза работать - его панель отображалась нормально, без ошибок в консоли js или в watchdog, но она просто ничего не выделяла. Протестировано на версиях dev и 2012 с одинаковым (отсутствующим) результатом. Если вы можете показать, как настроить его шаг за шагом, это было бы совершенно нормально :)
Mołot
@ Молот, извини, я только заметил этот комментарий.
Бала

Ответы:

4

Я использую модуль BUEditor , для которого вы можете добавить подсветку синтаксиса с некоторыми дополнительными настройками . Вы можете указать, чтобы разрешить администраторам доступ к этому интерфейсу только через страницу настроек модуля.

Пошаговые инструкции

  1. Установите модуль BUEditor (я использовал 1.6).
  2. Загрузите bue.highlight.min.css и bue.highlight.min.js с этой страницы . Я поместил эти файлы в bueditorкаталог внутри каталога для моей пользовательской темы.
  3. Перейти на страницу конфигурации BUEditor: /admin/config/content/bueditor. Отредактируйте настройки для соответствующей версии (версий) BUEditor (возможно, по умолчанию, но это зависит от того, что вы назначаете для каждой роли - если вы хотите, вы можете настроить различные параметры BUEditor для каждой роли, но тогда вам нужно будет настроить синтаксис Подсветка для каждого.)
  4. На экране настроек редактора перейдите на вкладку Пути редактора, а затем добавьте следующие специфичные для редактора файлы библиотекимоем примере предполагается, что вы поместили JS в каталог вашей темы. ):

    % THEME / bueditor / bue.highlight.min.css
    % THEME / bueditor / bue.highlight.min.js пример путей редактора

  5. Затем прокрутите вниз до нижней части этой страницы (под кнопками ) и добавьте tpl:syntaxвместе с этим кодом:

js: BUE.postprocess._turnOnHlight = function (E, $) {setTimeout (function () {E.highlight ('html')}); };

пример синтаксиса

Затем сохраните конфигурацию, и все будет хорошо.

Патрик Кенни
источник
Спасибо, но это плохо. Я использовал его на некоторых сайтах раньше, но больше не пользуюсь. Это доза не поддерживает вложенную подсветку. Например, если вы пишете на HTML, а затем открываете тег PHP, вы не получите подсветку для своего PHP-кода. Вы нашли что-нибудь лучше?
АНДИТКО
Извините, я знаю, что это не идеально, но это единственное решение, которое я знаю.
Патрик Кенни
Привет. Не могу заставить его работать. Разве это не устарело? И не могли бы вы дать Drupal-ориентированные инструкции? См. Описание щедрости - не могу понять, поэтому, если вы используете его, не могли бы вы обновить / расширить?
Молот
@ Молот Нет, он не устарел. Он работал на моем сайте в течение 1,5 лет без изменений, и у меня установлена ​​текущая версия. Хотя настраивать неудобно, поэтому я добавил пошаговые инструкции.
Патрик Кенни
Кроме того, по какой-то причине форматер Markdown продолжал портить мое форматирование, так что это не очень красиво. Извините, я не могу отформатировать его более аккуратно.
Патрик Кенни
4

Модуль Wysiwyg CodeMagic имеет опцию, см. Демо

CodeMagic - это расширенный плагин для редактора исходного кода для Tinymce . Он интегрирует библиотеку CodeMirror для раскраски синтаксиса и библиотеку JSBeautifier для форматирования кода и отступов.

Как я уже упоминал, Ace Code Editor , вы можете попробовать этот патч с комбинацией wysiwyg editor. Вы можете найти патч здесь

Bala
источник
1
Черт возьми, теперь, кажется, мне нужно будет установить второе вознаграждение, чтобы быть справедливым;) Особенно, если оба ответа будут работать. Нужно проверить их.
Молот
@ Mołot Не стесняйтесь присудить награду за этот ответ (или любой будущий ответ), если подсветка синтаксиса работает хорошо. Подсветка синтаксиса BUEditor работает, но в зависимости от браузера она может быть немного уродливой; это рабочее решение, но я сомневаюсь, что это лучшее решение.
Патрик Кенни