WysiBB — WYSIWYG редактор BBcode

4 Июл
2012

С ростом популярности различных WYSIWYG редакторов, которые довольно неплохо справляются с задачей формирования HTML кода, я обнаружил, что редакторов, которые формируют корректный BBcode, при наличии красивого визуального ввода крайне мало. По правде говоря, на момент начала работы над WysiBB я их не обнаружил их вовсе. Поэтому я начал работу над WYSIWYG редактором ББкодов, так как на проекте использовался именно этот формат входящих данных(BBcode).
Надо признать, что на идею написания редактора, меня натолкнула статья (http://habrahabr.ru/post/107907/). Именно после ее прочтения, я утвердился в идее создания простого в использовании(с поддержкой визуализации, как в WYSIWYG редакторах), настраиваемого и легковесного BBcode редактора.
image

В результате на данный момент готова первая альфа/бета/гамма(кому как хочется) версия редактора. Посмотреть редактор в работе можно на официальном сайте. Для работы редактора, требуется javascript фреймворк jQuery версией не ниже 1.4. Решение сделать редактор на базе jQuery было обосновано облегчением в разработке самого редактора и значительным сокращением исходного кода.
Итак для работы редактора, требуется скачать последнюю версию WysiBB с оф. сайта. Так же в случае, если вы не используете на своем проекте jQuery, то необходимо загрузить и его. После загрузки на страницу необходимых JS скриптов, необходимо выполнить функцию вида $(‘textarea’).wysibb().

Пример простой конфигурации.


<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://www.wysibb.com/static/latest/jquery.wysibb.min.js"></script>
<script>
$(document).ready(function() {
  $("textarea").wysibb();
});
</script>
</head>

Этой конфигурации достаточно, чтобы редактор работал со стандартным набором ббкодов.

Пример простой настройки


Для включения только необходимых ббкодов, можно использовать конфигурацию вида.
<script>
var myOpt = {
	buttons: 'bold,italic,underline,|link,img,|,bullist,numlist,quote,code,spoiler'
}
$(document).ready(function() {
  $("textarea").wysibb(myOpt);
});
</script>

Где,
‘|’ — означает разделитель
‘-‘ – означает перенос на новую строку. Все что после этого знака, будет отображаться в новой строке тулбара.
На данный момент WysiBB проходит тестирование для выявления багов, но я надеюст с вашей помощью, я планирую ускорить поиск этих «жучков».
В настоящий момент работающий редактор можно посмотреть на сайте Uagadget в блоке комментирования под новостью. Собственно изначально для этого проекта этот редактор создавался.
Среди интересных особенностей редактора, хотелось бы сразу отметить наличие авто-определения смайл-листов(доступных смайликов), корректная вставка текста из Microsoft Word(без лишнего мусора), обработчик внешних событий на изменение textarea(на большинстве форумов, уже есть кнопки для создания определенного ббкода или вставки смайла, цитаты и т.д в textarea. WysiBB следит за этими изменениями и показывает их в самом редакторе. Это позволяет не переделывать вызовы функций на этих кнопках.), и др.
Это лишь краткий обзор возможностей, более подробно о добавлении своих ББкодов, настройке внешнего вида редактора, добавлении смайл-листов и многом другом будет описано в следующих статьях.
Объективная критика и пожелания по работе редактора только приветствуются. Высказываете свои мнения и пожелания.
Ссылки

Официальный сайт WysiBB
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх