Представлен ProseMirror 1.0, тулкит для создания визуальных редакторов для Web
15 октября 2017 года
Сформирован значительный выпуск проекта ProseMirror 1.0, в рамках которого развивается тулкит для создания кастомизированных визуальных редакторов для интеграции на сайты и в web-приложения. Ветку 1.x планируется поддерживать длительное время с сохранением обратной совместимости. Исходные тексты проекта написаны на JavaScript и поставляются под лицензией MIT.
ProseMirror интересен тем, что для пользователя предоставляет удобные средства редактирования, но для разработчиков позволяет получить созданные в процессе редактирования данные в произвольном структурированном и семантически целостном представлении, занимая нишу между классическими WYSIWYG-редакторами и системами на базе Markdown. При этом ProseMirror является скорее низкоуровневым инструментарием для создания сложных и специфичных интерфейсов редактирования, для добавления простых типовых форм рекомендуется вместо использования ProseMirror напрямую задействовать одну из надстроек.
Тулкит представляет собой библиотеку для построения web-редакторов, разбитую на ряд модулей и поддерживающую расширение функциональности через плагины. Например, через подключения плагинов можно добавить в редактор меню и систему отслеживания изменений, а через расширение схемы документа реализовать нумерованные списки. Модульная структура позволяет загружать и использовать только модули, необходимые для работы желаемой функциональности, а также заменять различные части системы на свои реализации.
ProseMirror предоставляет разработчику полный контроль над документом и вносимыми в него изменениями, позволяя жестко определить форму и структуру получаемого на выходе документа, адаптировав их для нужд конкретного приложения. Например, для научных статей в схеме можно определить разделы, сноски и ссылки. В отличие от таких систем, как TinyMCE, документ не формируется в виде блоба или кода на HTML, а представляет собой структуру данных, содержащую только элементы, определённые в заданной разработчиком схеме, в которой описывается не то как должен выглядеть документ, а то какое содержимое допустимо и как оно структурировано.
Имеется возможность инспектирования каждого изменения и прикрепления к определённым типам изменений своих обработчиков. Изменения обрабатываются не через обновление состояния документа, а в форме транзакций, на основании применения которых к изначальному документу можно определить его состояние в текущий момент редактирования. Предоставляются встроенные средства для организации совместного редактирования документа несколькими участниками.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.