Переход на ruler в markdownit позволит включать/выключать правила при запуске нового парсинга, обеспечивая гибкость и поведение, аналогичное нативным правилам markdownit.
Например, я хочу добавить некоторые правила bbcode, но не включать их по умолчанию, а активировать только при необходимости (как в примере из первого поста). В настоящее время это невозможно с помощью пользовательского Ruler; возможно, это можно сделать хитрым способом (через среду парсинга или путем ручного изменения правил ruler)?
[foo]
текст вне тега bar не должен токенизироваться
[/foo]
[bar]
[foo]
текст внутри тега bar должен токенизироваться
[/foo]
[/bar]
Причина, по которой я не создаю нативные правила markdownit, а использую bbcode, заключается в том, что реализация правил, подобных bbcode, сложна и трудна в поддержке, а bbcode уже существует.
Отличная работа, но мой случай использования отличается.
Мне нравится ваш код здесь, он вдохновил меня на решение других проблем.
Имеете в виду, что все теги bbcode должны обрабатываться так же, как сейчас обрабатывается [wrap]? Оборачивать их в div-элементы?
Мне кажется, то, что вы описываете, больше похоже на кастомное правило или плагин для markdownit, а не на то, что должно быть реализовано в ядре системы?