Дать возможность писать в блог

Аватар пользователя Konstantin Komelin

Категория задачи: 

  • функционал сайта

Статус: 

  • готово

Необходимо организовать публикацию статей с премодерацией.

Задачи:
1) Добавить WYSIWYG редактор для удобства. На сколько это возможно адаптировать его под мобильные устройства.
2) Добавить возможность вставлять в статьи примеры кода. Желательно интегрировать эту возможность в WYSIWYG.
3) Обеспечить рабочий поток статей (work flow). Черновик -> На модерирование -> Опубликовано

C 1) и 3) проблем нет.
С 2) чуточку сложнее. Может быть у вас есть идеи по подсветке синтаксиса и интеграции с редактором?

up
4 участника проголосовало.

Комментарии

Аватар пользователя Konstantin Komelin

Все готово для публикации

Все готово для публикации статей в блог, а в комментариях теперь доступен WYSIWYG с подсветкой синтаксиса примеров кода.
После продолжительных тестов решено было использовать связку Workflow + BUEditor + BUEditor Plus + GeSHi Filter.
Не делаю из этого секрета, может быть кому-то пригодится.

Аватар пользователя Konstantin Komelin

Вместо GeSHi поставил

Вместо GeSHi поставил highlight js модуль, использующий библиотеку highlight.js.

Почему?

  • Это снижает нагрузку на сервер, так как обработка происходит на стороне клиента, а не сервера.
  • Это улучшает юзабилити. Теперь вам не нужно указывать на каком языке написан пример кода, библиотека сама определит и подсветит его.
  • Хочется поддержать "отечественного" производителя.

Спасибо kyky за подсказку.

Аватар пользователя Alex Malkov

Ну что ж, тестируем ...

Ну что ж, тестируем ...

/**
* Implements hook_node_info().
*/
function blog_node_info() {
  return array(
    'blog' => array(
      'name' => t('Blog entry'),
      'base' => 'blog',
      'description' => t('Use for multi-user blogs. Every user gets a personal blog.'),
    )
  );
}

Код показывается. Отлично!
А если добавить в первый тег class="php", то и подсвечивается.

Аватар пользователя paulanders

Могу поделиться красивыми

Могу поделиться красивыми иконками кнопочек для BUEditor
Bueditor icons
Автор первого варианта - я. Идея заимствованна из google drive (выложил сюда).
Второй и третий варианты нашел на drupal.ru

Аватар пользователя Konstantin Komelin

Ты словно мысли читаешь,

Андрей, ты словно мысли читаешь! Была идея создать инициативу отдельную по иконкам, и тут ты предложил. Иконки отличные! Спасибо!

Мне нравиться больше красный и синий варианты, так как гармонируют с сайтом.
Твой вариант тоже хорош, но мне кажется там нет предпросмотра и цитаты.

Аватар пользователя Konstantin Komelin

Исправил в блогах ошибки вида

Исправил в блогах ошибки вида:

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Invalid char in CDATA 0xB in Entity, line: 1 in _elf_replace_callback() (line 152 of H:\vhosts\drupalspb\sites\all\modules\elf\elf.module).

Заодно и ишью создал: http://drupal.org/node/1872742

Аватар пользователя paulanders

Предлагаю немного повысить

Предлагаю немного повысить юзабилити редактора:

  • Добавить поддержку Markdown.
  • Установить новый красивый тулбар с кнопками.

Обоснование:

  • Markdown - один из самых популярных на сегодняшний день облегченный язык разметки (wiki).
  • Markdown прост, красив и лаконичен, иделен для разработчиков. Поддерживает существующую подсветку кода.
  • Для тех кто с ним не знаком, это не будет вызывать никаких затрднения, так как Markdown может включать в себя html без каких либо дополнительных указаний на это.
  • Простота установки.

Установка:

Весь процесс сводится к установке 3-х модулей:

Markdown filter - фильтр ввода интерпретирующий Markdown (в настройках форматов ввода надо включить фильтр Markdown). Markdown editor for BUEditor - поддержка конструкций разметки Markdown в BUEditor. GMarkdownEditor - дополнительные кнопки и красивые иконки для Markdown editor (в настройках BUEditor выбрать редактор GMarkdownEditor).

Редактор, который в итоге должен получиться:

gmed.png

Аватар пользователя Konstantin Komelin

Андрей, спасибо за

Андрей, спасибо за предложение.
Нужно создать отдельную инициативу, эта уже закрыта. Чтобы два раза не писать, можно просто дать ссылку на твой комммент в описании инициативы.