Планы по поддержке BBCode в Markdownit Ruler?

Мой сценарий использования — отключение/включение правил bbcode при использовании правила замены в bbcode.

replace: function (state, tagInfo, content) {
  const source = state.push("my_token", "div", 0);
  try {
    md.block.bbcode.ruler.disable("ruleName")
    source.children = state.md.parse(content, {});
  } finally {
    md.block.bbcode.ruler.enable("ruleName")
  }
  return true
}

Я заметил, что комментарий TODO здесь был оставлен очень давно. Есть ли планы по его реализации?

Я полагаю, мой главный вопрос здесь — почему? Какие проблемы это решит?

А наш проект может вас заинтересовать? Мы приближаемся к финалу:

Мы выяснили, что использование markdownit для сложного bbcode — это боль, поэтому вместо этого мы внедряем bbob в Discourse.

Переход на ruler в markdownit позволит включать/выключать правила при запуске нового парсинга, обеспечивая гибкость и поведение, аналогичное нативным правилам markdownit.

Например, я хочу добавить некоторые правила bbcode, но не включать их по умолчанию, а активировать только при необходимости (как в примере из первого поста). В настоящее время это невозможно с помощью пользовательского Ruler; возможно, это можно сделать хитрым способом (через среду парсинга или путем ручного изменения правил ruler)?

[foo]
текст вне тега bar не должен токенизироваться
[/foo]

[bar]
[foo]
текст внутри тега bar должен токенизироваться
[/foo]
[/bar]

Причина, по которой я не создаю нативные правила markdownit, а использую bbcode, заключается в том, что реализация правил, подобных bbcode, сложна и трудна в поддержке, а bbcode уже существует.


Отличная работа, но мой случай использования отличается.

Мне нравится ваш код здесь, он вдохновил меня на решение других проблем.

Имеете в виду, что все теги bbcode должны обрабатываться так же, как сейчас обрабатывается [wrap]? Оборачивать их в div-элементы?

Мне кажется, то, что вы описываете, больше похоже на кастомное правило или плагин для markdownit, а не на то, что должно быть реализовано в ядре системы?