The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен ProseMirror 1.0, тулкит для создания визуальных редакторов для Web

15.10.2017 09:12

Сформирован значительный выпуск проекта ProseMirror 1.0, в рамках которого развивается тулкит для создания кастомизированных визуальных редакторов для интеграции на сайты и в web-приложения. Ветку 1.x планируется поддерживать длительное время с сохранением обратной совместимости. Исходные тексты проекта написаны на JavaScript и поставляются под лицензией MIT.

ProseMirror интересен тем, что для пользователя предоставляет удобные средства редактирования, но для разработчиков позволяет получить созданные в процессе редактирования данные в произвольном структурированном и семантически целостном представлении, занимая нишу между классическими WYSIWYG-редакторами и системами на базе Markdown. При этом ProseMirror является скорее низкоуровневым инструментарием для создания сложных и специфичных интерфейсов редактирования, для добавления простых типовых форм рекомендуется вместо использования ProseMirror напрямую задействовать одну из надстроек.

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

ProseMirror предоставляет разработчику полный контроль над документом и вносимыми в него изменениями, позволяя жестко определить форму и структуру получаемого на выходе документа, адаптировав их для нужд конкретного приложения. Например, для научных статей в схеме можно определить разделы, сноски и ссылки. В отличие от таких систем, как TinyMCE, документ не формируется в виде блоба или кода на HTML, а представляет собой структуру данных, содержащую только элементы, определённые в заданной разработчиком схеме, в которой описывается не то как должен выглядеть документ, а то какое содержимое допустимо и как оно структурировано.

Имеется возможность инспектирования каждого изменения и прикрепления к определённым типам изменений своих обработчиков. Изменения обрабатываются не через обновление состояния документа, а в форме транзакций, на основании применения которых к изначальному документу можно определить его состояние в текущий момент редактирования. Предоставляются встроенные средства для организации совместного редактирования документа несколькими участниками.

  1. Главная ссылка к новости (http://marijnhaverbeke.nl/blog...)
  2. OpenNews: Конфликт между WordPress и Wix, связанный с нарушением лицензии GPL
  3. OpenNews: HTdesigner - новый свободный WYSIWYG HTML-редактор, написанный на JavaScript
  4. OpenNews: В Wikipedia интегрирован визуальный редактор статей
  5. OpenNews: Релиз JavaScript-библиотеки Dojo 1.7.0
  6. OpenNews: Новый релиз и переименование проекта FCKEditor
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47388-prosemirror
Ключевые слова: prosemirror, wysiwyg
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:43, 15/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –16 +/
    WYSIWYG — зло.
     
     
  • 2.2, A.Stahl (ok), 11:06, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Правильно, нужно всё делать с закрытыми глазами. А то вдруг случайно что-то хорошее получится?! Нужно свести к минимуму такую вероятность!
     
     
  • 3.3, Аноним (-), 11:30, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    При этом бибикать и все портить.
     
     
  • 4.4, пох (?), 12:18, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • +12 +/
    бибикать - устаревшая технология времен 70х, для шумных машзалов и пищащих по любому поводу терминалов.
    Современный редактор должен все портить молча, иначе юзер может слишком рано это заметить.

     
  • 3.32, Аноним (-), 09:48, 16/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого давно придумали markdown/wiki-разметку и превью. А если ты не знаешь альтернатив WYSIWYG, то тебя вообще в интернет пускать нельзя.
     
     
  • 4.33, A.Stahl (ok), 11:10, 16/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >придумали markdown/wiki-разметку и превью

    Ага, сначала хрень какую-то хреначишь с закрытыми глазами, потом приоткрываешь один глаз, охреневаешь, зажмуриваешься и продолжаешь хреначить. Да ты просто бог юзабилити!

     
     
  • 5.34, Аноним (-), 12:31, 16/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Схреначить какую-то хрень с маркдауном - это еще постараться надо. Может у тебя руки из заднего прохода растут?

    Бывает, предупреждаешь людей о недостатках встраивания WYSISYG. Все равно требуют "что-то попроще, чтоб кнопку тык-тык". А потом они же просят поменять дизайн на сайте, очень весело смотреть на их лица, когда им говоришь, что дизайн-то поменяешь, а вот за статьи все так же отвечать им, и теперь им переписывать несколько тысяч статей с хардкорным html-ем, заточенным под старый дизайн.

     
     
  • 6.37, BernersLess (?), 17:49, 18/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Схреначить какую-то хрень с маркдауном - это еще постараться надо. Может у тебя руки из заднего прохода растут?
    > Бывает, предупреждаешь людей о недостатках встраивания WYSISYG. Все равно требуют "что-то попроще, чтоб кнопку тык-тык". А потом они же просят поменять дизайн на сайте, очень весело смотреть на их лица, когда им говоришь, что дизайн-то поменяешь, а вот за статьи все так же отвечать им, и теперь им переписывать несколько тысяч статей с хардкорным html-ем, заточенным под старый дизайн.

    Любой вменяемый визивиг (tinymce, ckeditor) позволяет делать голый хтмл на выходе и более того - может фильтровать теги (разрешить/почистить). Если криворукие обезьяны не могут по-нормальному настроить это и предпочитают вручную ставить горы дизайно-зависимых классов, то это их личные проблемы.
    Абсолютно ничего не мешает оборачивать визивижный контент в какой-то блок с классом и от этого класса уже ворочать стили. Никакой редизайн при таком раскладе не страшен.

    Но это конечно же не по-пролетарски. Надо вначале наломать дров из-за неумения пользоваться примитивным инструменом, чтобы потом делать оверинжиниринг, героически решая последствия своего невежества.

    Это, видимо, так же как и Quill - непонятно что и непонятно зачем. Там минимальный набор программной работы с дом решается через создание своих обработчиков, обёрток над узлами и прочим идиотизмом. Вобщем ересь полнейшая.
    Зато можно на митинге заявить: "у нас семантика"

     
  • 3.35, Аноним (-), 14:45, 16/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Правильно, нужно всё делать с закрытыми глазами. А то вдруг случайно что-то хорошее получится?! Нужно свести к минимуму такую вероятность!

    Компромиссная альтернатива — WYSIWYM. Юзер (контент-менеджер) наглядно правит смысловую разметку, но не может испортить внешний вид результата.

     
     
  • 4.38, BernersLess (?), 17:51, 18/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Правильно, нужно всё делать с закрытыми глазами. А то вдруг случайно что-то хорошее получится?! Нужно свести к минимуму такую вероятность!
    > Компромиссная альтернатива — WYSIWYM. Юзер (контент-менеджер) наглядно правит
    > смысловую разметку, но не может испортить внешний вид результата.

    https://www.tinymce.com/docs/configure/content-filtering/ и не надо выдумывать новые термины.. или ты из MS?

     
  • 2.5, Фуррь (ok), 12:18, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >WYSIWYG — зло.

    Только M$ Word, только хардкор!

     
  • 2.6, Аноним (-), 13:09, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сир, не все Латех.
     
     
  • 3.17, Аноним (-), 19:46, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кнечно. Кроме латеха есть, например, LyX, который WYSIWYM. А вот для веба вроде только полудохлый WYMeditor.
     
  • 2.10, YetAnotherOnanym (ok), 15:19, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    По результатам голосования за/против камента 1.1 установлено, что верстающих в WYSIWYG макак  на 15:15 15.10.2017 проголосовало на 8 единиц больше, чем верстальщиков, создающих контент на основе знания HTML, CSS и темплейтов своей CMS.
     
     
  • 3.25, Ilya Indigo (ok), 23:11, 15/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы путаете верстальщика и контент-менеджера, в роли которого может быть вообще домохозяйка, которая изготавливает рукодельные изделия, которые потом выкладывает и продаёт через интернет-магазин, и хочет, что бы её страница выглядела красиво и актуально, при этом я, как разработчик, хочу чтобы она это делала самостоятельно, а не при каждой правке обращалась ко мне, да ей неохота каждый раз мне оплачивать за то, что в состоянии сделать сама.
    Ну и главное, что навык в работе в текстовых процессорах у домохозяек имеется, а вот навыком вёрстки не обладают даже многие контент-менеджеры.
    P.S. Забегая вперёд, WYSIWYG не такое уж и зло, по сравнению с bootstrap и angular, так как он отнюдь не претендует на полную замену не только CSS, но и HTML JS-ом.
     

  • 1.24, Лис (?), 22:37, 15/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Похожее интереснее чем Quill.
     
  • 1.36, stalkerdroad (ok), 02:40, 17/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > представляет собой структуру данных, содержащую только элементы, определённые в заданной разработчиком схеме,

    Это звучит хорошо для безопасности. Ведь Html парсить на разрешённые теги и атрибуты сложнее.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру