Документ и диапазоны

HTML, JSON, CSS, типы данных и позиционная модель.

1.0.0-beta.6 · Локальная поставка · desktop

Форматы

Источник истины — структурный документ схемы ProseMirror. HTML нормализуется: побайтовое сохранение произвольной разметки не обещано. CSS передаётся отдельно. Текст не содержит HTML/CSS; границы блоков учитываются.

interface DocumentNode {
  type: string;
  attrs?: Record<string, unknown>;
  content?: DocumentNode[];
  marks?: { type: string; attrs?: Record<string, unknown> }[];
  text?: string;
}
interface SelectionInfo { from: number; to: number; text: string; revision: number }
interface TextEdit { from: number; to: number; text: string }
interface ImageAttributes { src: string; alt?: string; title?: string; width?: number; height?: number }

Поддерживаются doc, paragraph, heading, text, hardBreak, horizontalRule, списки/listItem, blockquote, codeBlock, table/tableRow/tableCell/tableHeader и image; marks — базовое форматирование/ссылка/код. Публичный импорт проверяет схему/атрибуты: не добавляйте произвольные type.

Снимки

getJSON() — независимая копия. Примените изменённый снимок через setContent(json), а не мутируйте private-поля. Храните JSON/CSS совместно и предусматривайте версию схемы приложения.

Позиции

from/to — позиции схемы, а не смещение строки HTML или getText. Документ включает структурные границы/inline-атомы. Используйте getSelection(), не вычисляйте диапазон по длине HTML. DocumentRange = from/to/revision; старая revision блокирует replaceRange/replaceText.

Методы, хранение.

Найти в документации

Ничего не найдено. Попробуйте другие слова.

Все разделы документации