Domternal: набор инструментов для создания текстовых редакторов на ProseMirror

Domternal — это современный набор инструментов для создания богатых текстовых редакторов на основе ProseMirror. Он предлагает как классические, так и редакторы в стиле Notion сразу "из коробки", а также возможность комбинировать более 65 расширений для сборки кастомного редактора.

Основное преимущество Domternal — это его гибкость: ты можешь использовать главное ядро в любом проекте, включая Angular, React, Vue и Vanilla JS, с возможностью тонкой настройки. В комплекте идут элементы управления, такие как панели инструментов и меню, а также поддержка drag-and-drop и многое другое. Все экспортируемые модули удобно настраиваются благодаря tree-shakeable архитектуре.

Проект имеет MIT лицензию, поэтому ты можешь использовать его в коммерческих целях. Но учти, что некоторые компоненты требуют актуальные версии фреймворков: Angular 17.1+, React 18+ и Vue 3.3+. Запустить можно, установив пакет @domternal/core через npm. Для подробностей загляни в документацию на сайте.

Domternal — это набор инструментов для создания текстовых редакторов на основе библиотеки ProseMirror. Проект предлагает «безголовую» архитектуру (headless core) и компоненты для популярных фреймворков, таких как Angular, React и Vue, а также для чистого JavaScript.

Domternal предоставляет основные функциональные возможности для редактирования текста, включая блок-редактирование в стиле Notion, меню с возможностью ввода команд и плавающую оглавление. Редактор может быть настроен с использованием готовой темы или отдельной панели инструментов. Библиотека оптимизирована для современных приложений, позволяя импортировать только те зависимости, которые необходимы, а также включает темы как единую CSS таблицу стилей.

Установка и начало работы

Чтобы начать работу с Domternal, добавь нужный пакет с помощью npm:

pnpm add @domternal/core

После установки, вот пример кода для создания простого текстового редактора:

import { Editor, Document, Text, Paragraph, Bold, Italic, Underline } from '@domternal/core';

const editor = new Editor({
  element: document.getElementById('editor')!,
  extensions: [Document, Text, Paragraph, Bold, Italic, Underline],
  content: '

Hello World!

', });

Для более полного решения можно использовать StarterKit, который включает заголовки, списки, блоки кода и историю изменений.

Основные функции

  • Безголовая архитектура — совместимость с любой платформой или чистым JS/TS.
  • Поддержка популярных фреймворков — компоненты для Angular, React и Vue, использования которых значительно упрощает интеграцию.
  • Многочисленные расширения — поддержка блоков, таблиц, Latex-математики и Markdown.
  • Поддержка локализации — возможность задавать текстовые метки на разных языках, включая немецкий.
  • Поддержка печати — возможность печати документа на бумаге или в формате PDF без лишних элементов интерфейса.

Ограничения

Хотя Domternal довольно мощный, у него есть некоторые ограничения. Например, текущая версия требует Node.js версии 22 и выше. Полная поддержка всех функций может потребовать дополнительных настроек и использования нескольких пакетов для решения специфических задач.

Более подробную информацию о проекте, включая документацию и живые примеры, можно найти на официальном сайте domternal.dev.

Радар проекта: 68 из 100 — крепкий проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема68
  • Импульс 2 ≈ 3 звезды в месяц
  • Темп разработки 66 42 коммита за 12 недель
  • Зрелость 83 проекту 10 месяцев, 43 релиза
  • Сообщество 19 1 участник, 7 форков
  • Свежесть 92 последний коммит — 14 дней назад
  • Быстрый старт 65 есть: команда установки, сайт/демо
  • Готовность к продакшену 100 релиз v1.8.0, автосборка, тесты
  • Безопасность и доверие 100 лицензия MIT, SECURITY.md, организация
  • Документация 100 README 14.4 тыс. знаков, 11 разделов
  • Экосистема 50 2 подписчика на обновления, 20 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: domternal/domternal →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте