Рецепты
Markdown своего Блока
Свой синтаксис Markdown для своего Блока — токенайзер, разбор и renderMarkdown в Части для движка.
Без своих правил getMarkdown() текст не теряет: Блок выгружается своим содержимым, атом — Текстом
атома, Метка — своим текстом. Но обратно из Markdown такой Блок не создаётся. Чтобы Блок прошёл
круг getMarkdown() → setMarkdown(), дайте ему правила Markdown.
Нажмите «Load Markdown» — строка ::: … станет Блоком-заметкой. «Export Markdown» выгрузит её обратно.
Как устроено
- Правила — в Части для движка, как у любого расширения Tiptap:
markdownTokenizerнаходит строку,parseMarkdownстроит узел,renderMarkdownпишет его обратно. Отдельного поля в описании Инструмента нет. - Схема по-прежнему главная. Что бы ни создал разбор, в Документ попадает только то, что разрешают правила Схемы.
- Без правил в режиме разработки — одно предупреждение
console.warnна Инструмент, когда умолчание впервые сработало. Пропадает только атом без текста. - Вставка из буфера тоже понимает правила: текст с признаками Markdown превращается в Блоки,
и строка
::: …— в том числе.