Удобный wysiwyg-редактор для Drupal

Иногда большой выбор это не очень хорошо. Например обилие Wysiwyg-редакторов может с легкостью может запутать новичка. markItUp; Bueditor; FCKeditor; NicEdit; WYMeditor; TinyMCE; CKEditor; YUI editor; jWYSIWYG; Whizzywig и еще множество остальных. Благо в Drupal есть модуль WYSIWYG, стандартизируюзий доступ к функционалу редакторов.

Разработчику Drupal-модуля проще написать интеграцию с модулем WYSIWYG, который предоставляет API для разработчиков. Используя этот API можно быть уверенным что остальные редакторы тоже будут поддерживать дополнение, реализуемое программистом. Наиболее современным и удобным, по моему мнению, является редактор markItUp!. Основные достоинства редактора:
  • Легкая интеграция
  • Поддержка "горячих" клавиш
  • Панель управления легко настраивается
  • Легко изменяется и настраивается
  • Просмотр результатов через AJAX
  • Настраиваемый внешний вид
Но главным достоинством редактора я считаю независимость от разметки, т.е. редактор можно использовать для BBCode, Markdown, Wiki синтаксис, Textile и конечно же для HTML. Кстати он имеет очень красивый визуальный интерфейс. Интегрируя markItUp! в Drupal, через модуль WYSIWYG, я столкнулся с некоторыми трудностями. И так чтобы интегрировать редактор в Drupal необходимо для начала скачать и поставить модуль WYSIWYG. Далее необходимо скачать последнюю версию markItUp!, скачать которую можно тут. Панель управления модуля предлагает залить скрипты в каталог sites/all/libraries/markitup/markitup/jquery.markitup.js, но даже выполнив это требование мы обнаружим ворох php-ошибок, намекающих на отсутствие некоторых файлов. Посмотрим в исходники модуля и увидим что в 52 строке, в которой найдена ошибка, происходит проверка допустимости версии markItUp!, при этом версия считывается из файла readme.txt. Но такого файла нет в комплекте с редактором. Зато есть файл CHANGELOG.md который при переименовании в readme.txt чудесным образом избавляет нас от всех ошибок. В очередной раз Drupal показал себя как очень мощная и расширяемая CMS, в которой можно сделать все что угодно используя тысячи дополнительных модулей.

Комментарии

Readme.txt необходимо переложить в дочернюю папку, так что бы путь получился:
libraries/markitup/markitup/readme.txt
По мне лучше изменить 51 строку в "modules/wysiwyg/editors/markitup.inc" на:
$changelog = $editor['library path'] . '/../CHANGELOG.md';
Патч уже принят, и с выходом новой версии wysiwg модуля все будет ок.