Mover para o markdownit ruler permitirá habilitar/desabilitar regras ao iniciar uma nova análise, o que traz flexibilidade e comportamento semelhante às regras nativas do markdownit.
Por exemplo, quero adicionar algumas regras de bbcode, mas não habilitá-las por padrão, e depois habilitá-las quando precisar delas (como no exemplo do OP). Atualmente, isso não é possível com o Ruler personalizado, talvez possa ser feito com alguma artimanha (através do ambiente de análise ou modificando as regras do ruler manualmente)?
[foo]
não envolver dentro do bar não deve ser tokenizado
[/foo]
[bar]
[foo]
envolver dentro do bar deve ser tokenizado
[/foo]
[/bar]
A razão pela qual não estou criando regras nativas do markdownit além de usar o bbcode é que implementar regras como o bbcode será difícil e de difícil manutenção, e o bbcode já existe.
Ótimo trabalho, mas meu caso de uso é algo diferente.
E eu gosto do seu código aqui, que me inspira em outros problemas de preocupação.