Я работаю над плагином для Markdown и столкнулся с проблемой при добавлении настройки сайта, позволяющей отключить эту функцию. Я написал плагин, следуя структуре Discourse Footnote, где есть настройка для отключения этого плагина. Я установил плагин «footnote», убедился, что его можно отключить через интерфейс, и что соответствующий тест проходит успешно. Однако отключение моего плагина через настройки сайта не даёт никакого эффекта, и юнит-тест подтверждает это своим провалом.
Не уверен, что я делаю иначе по сравнению с плагином «footnote». Возможно, я совершенно неправильно использую opts.features или делаю неверные предположения, потому что, как и почти везде, я просто заменил «footnotes» на «ruby». Любая помощь будет очень кстати.
Репозиторий находится здесь: GitHub - seanblue/discourse-ruby: Adds ruby markdown support to Discourse · GitHub
Ключевые аспекты, связанные с настройкой сайта, включают:
А вот тест, который постоянно падает (ещё не добавлен в репозиторий):
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
Неудивительно, что ошибка говорит о том, что обработанный текст получается так, будто разметка всё ещё применяется.
expected: "<p>Here is some text: {漢字|かん|じ}.</p>"
got: "<p>Here is some text: <ruby>漢<rt>かん</rt>字<rt>じ</rt></ruby>.</p>"