Estou trabalhando em um plugin de Markdown e estou com dificuldades para adicionar uma configuração de site que permita desativar o recurso. Desenvolvi o plugin seguindo a estrutura de Discourse Footnote, que possui uma configuração que permite desativar esse plugin. Instalei o plugin de notas de rodapé e verifiquei que ele pode ser desativado pela interface do usuário e que seu teste correspondente passa. No entanto, desativar meu plugin nas configurações do site não tem efeito, e o teste unitário confirma isso ao falhar.
Não tenho certeza do que estou fazendo de diferente em comparação ao plugin de notas de rodapé. É possível que meu uso de opts.features esteja completamente errado ou baseado em suposições equivocadas, porque, como em quase todos os outros lugares, eu apenas substituí “footnotes” por “ruby”. Qualquer ajuda seria muito apreciada.
O repositório está aqui: GitHub - seanblue/discourse-ruby: Adds ruby markdown support to Discourse · GitHub
Os aspectos principais relacionados à configuração do site incluem:
E este é o teste que continua falhando (ainda não está no repositório):
it "can be disabled" do
SiteSetting.enable_markdown_ruby = false
markdown = <<~MD
Here is some text: {漢字|かん|じ}.
MD
html = <<~HTML
<p>Here is some text: {漢字|かん|じ}.</p>
HTML
cooked = PrettyText.cook markdown.strip
expect(cooked).to eq(html.strip)
end
Não surpreendentemente, o erro indica que o texto processado está sendo gerado como se o Markdown ainda estivesse sendo aplicado.
expected: "<p>Here is some text: {漢字|かん|じ}.</p>"
got: "<p>Here is some text: <ruby>漢<rt>かん</rt>字<rt>じ</rt></ruby>.</p>"