ФорумПрограммированиеПыхнуть хотите?Готовые решения → Dude BBEditor

Dude BBEditor

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 11:14

    куку, в общем загорелся идеей сделать нормальный бб редактор, а не то, что предлагает масса :D

    посему представляю альфу -

    http://home.helldude.ru/DudeBBEditor/trunk/

    плюсы редактора -

    - умеет "настраиваться", это делается удобно в виде xml файла - http://home.helldude.ru/DudeBBEditor/trunk/js/dude.bbeditor.xml, структура достаточно простая и одновременно удобная. батоны - кнопки можно напиливать как и из одного файла (можно из нескольких), так и на каждую кнопку по картинке. может работать с "простыми bb-кодами", либо с callback функциями
    - автоматически "конвертит" все textarea с class='dude_bbeditor' в bb редакторы. при выключеном жсе мы видим обычную текстарию
    - использует исходный textarea объект ДОМ, поэтому не должен ебать мозг при других плагинах, например какой нить textarea resizer или тп.
    - может подцеплять "help" html код в область под поле ввода, если глянуть в хтмл код примера, то там видно как это просто делается: help=".editorhelp" ну и <div class="editorhelp">. после использования этого хелпа всеми инстанциями редакторов, которые в нем нуждаются, ноды удаляются из дом дерева, поэтому нет необходимости ебаться с display: none и тп.
    - написан в виде jQuery плагина, вес приятный в принципе для такой мощи 8кб в несжатом виде :)
    - я "сделал" стандартный тулбар для типичных сайтов, набор бб тегов совместим с xbb. буду юзать это чудо с удовольствием

    пример callback функции:
    DudeBBEditor.submit = function () {
    var form = (this.element.get(0) && this.element.get(0).form) || null;
    if(form != null)
    {
    $(form).submit();
    }
    }

    DudeBBEditor.url = function () {
    var url = prompt('Please enter url');
    if(url)
    {
    this.surroundText("", "", url);
    }
    }


    собираюсь выдвинуть в опенсорц и добавить редактор на jQuery плагины сайт, пожелайте удачи)

    создал топик чтобы вы оценили, посмотрели, подсказали что сделать ещо! :)

    чмокэ, дудэ вас лав
    Спустя 209 сек.
    зы: дизайн тулбара слегка уебанский, ну это все на что я был способен :D

    если ктото нарисует норм кнопочки и тп, с удовольствием приму в свое детище
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 11 апреля 2010 г. 11:15, спустя 37 секунд

    демку давай! =)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 11:24, спустя 9 минут 47 секунд


    демку давай! =)
    солнце слепит глаз?)

    http://home.helldude.ru/DudeBBEditor/trunk/


    день чудесный седня
    Спустя 65 сек.
    ну и какбы добавлю, что он проверяет xml структуру насколько оно важно, и выводит ошибки, так что какбы небольшой плюс)

    суроват вероятно, но это поправимо конечно. время - лечит :)
    Спустя 232 сек.
    еще добавлю, что редактор умеет "разрешать имена файлов", то есть в какой бы папке он не находился, он пытается найти пути до своих "кишков"

    ну а если это не получается у него автоматически (возможно js файл был скомпилен в пачку с другими или переименован), то config.baseUrl устанавливаем и работаем :)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 11 апреля 2010 г. 11:33, спустя 8 минут 49 секунд

    сорри, забыл, что это JS, который работает из http-svn

    предлагаю сделать так: если текст выделен, он начинается с http(s)|ftp|… и я жму сделать ссылку - не спрашивать адрес ссылки, я ж его выделил.
    А еще неплохо б спрашивать описание ссылки, если я ввел пустое или нажал отмена - тулить в описание url
    Спустя 131 сек.
    кроме того посмотри на http://meltingice.net/dev/osimoeditor/

    там есть прикольные части:
    OsimoEditorControls.prototype.replaceText = function(text){
    var inputID = '#'+this.input+'_editbox';
    var replace = $(inputID).attr('value').substring(0,text.start) + text.replace + text.textarea.value.substring(text.end,text.len);
    $(inputID).attr('value',replace).focus();
    }

    OsimoEditorControls.prototype.simpleReplace = function(wrapper){
    var text = this.getTextSelection();
    text.replace = '['+wrapper+']' + text.sel + '[/'+wrapper+']';
    this.replaceText(text);
    }

    OsimoEditorControls.prototype.customReplace = function(before,after){
    var text = this.getTextSelection();
    text.replace = before + text.sel + after;
    this.replaceText(text);
    }

    OsimoEditorControls.prototype.conditionReplace = function(textSelected,textNotSelected){
    var text = this.getTextSelection();
    if(text.sel){ textSelected(text); }
    else{ textNotSelected(text); }
    }

    Спустя 27 сек.
    а так ваще круто. Я такое не пишу, так как долго и сложно. Беру готовое
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 11:49, спустя 15 минут 22 секунды

    ну ты предложил поработать над каллбак функцией url, сделаем, меня прототип интересует. к тому же xbb вроде сами конвертят ссылки в @l;url@r;, хотя могу ошибаться конечно :)

    проверю, я сейчас как раз с редактором проектик делаю :)
    Спустя 97 сек.
    мне ахуенно нравится что он на хмл + ксс онли :D

    можно под любой диз подогнать без потери качества и переписывания.
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 12:14, спустя 25 минут 3 секунды

    нахуй они нужны эти бб-коды (
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 12:24, спустя 10 минут 45 секунд


    нахуй они нужны эти бб-коды (
    а ты на лив ксе чо используешь?
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 13:35, спустя 1 час 10 минут 10 секунд

    phpdude, html + jevix
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 13:55, спустя 20 минут 27 секунд


    phpdude, html + jevix
    запомним :)

    на хабре его же юзают?
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 11 апреля 2010 г. 15:30, спустя 1 час 35 минут

    парсер кодов на быдлохабре - хуйня полнейшая
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 17:48, спустя 2 часа 18 минут 21 секунду


    парсер кодов на быдлохабре - хуйня полнейшая
    вот я поэтому же и спросил)))
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 18:56, спустя 1 час 7 минут 38 секунд

    джем с нетерпением сорцов
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 19:22, спустя 26 минут 12 секунд


    джем с нетерпением сорцов
    хочу чтобы мавре глянул исходнеги ещо, он у нас специалист по жукери, может чо поправим или тп :)

    но чето мавре давно не видно :(

    мавре ты где? :)
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 21:10, спустя 1 час 47 минут 55 секунд



    phpdude, html + jevix
    запомним :)

    на хабре его же юзают?
    я не знаю, что на хабре юзают
    у меня все хорошо, вполне так все устраивает

    а бб-коды превдохуйня и совок
    а вобще, вусивуги - рулят
    хотя опять же, смотря для чего…
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 апреля 2010 г. 21:19, спустя 8 минут 55 секунд

    а вобще, вусивуги - рулят
    хотя опять же, смотря для чего…


    алексей николаевич, мы новость будем публиковать розовым как Мне нравится или Зеленым как Вы любите? публикуйте розовым наташенька, ведь сегодня ваша очередь выбирать цвет

    бля :D
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!