返信ありがとうございます!
今日、最初のリンクを見つけました。
GitHubのリンクファイルは7年前のものであるため、コードは古い可能性があると思いますか?
とにかく、これを使用しました。
export function setup(helper) {
if (!helper.markdownIt) { return; }
helper.registerOptions((opts, siteSettings) => {
opts.features.nolinkify = siteSettings.no_linkify_enabled;
});
helper.allowList(["span.nolinkify"]);
}
これは GitHub - unfoldingWord/discourse-mermaid: Adds the Mermaid JS library to discourse から借用したものです。
私のプラグインには数行のコードしかなく、何をしているのか、すべてが必要なのかはよくわかりませんが、少なくとも nolinkify クラスを持つspanを追加できます。
私の場合は、https://meta.discourse.org/t/linkify-words-in-post/82193(リンク化を防ぐためにタグとクラスのみを受け入れます)を使用して、投稿内の単語を簡単に「リンク化解除」することを目的としていました。特に、https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143 を使用しながら、HTMLタグ内の単語をリンク化解除することを目的としていました。
次のようなbbcode構文ベースのソリューションも試しました。
helper.registerPlugin(md => {
md.inline.bbcode.ruler.push("nolinkify",{
tag: "nolinkify",
replace: function(state, tagInfo, content) {
const token = state.push("html_raw", '', 0);
const escaped = state.md.utils.escapeHtml(content);
token.content = `<span="nolinkify ">${escaped}</span>`;
return true;
}
});
});
そのため、目次のタイトルタグの問題に対して両方のソリューションを試しました。
これは機能しません:
## [nolinkify]test[/nolinkify]
しかし、これは機能します:
## <span class="nolinkify">test</span>
最初の構文を好んでいましたが、スクリプトの実行順序のため、目次との互換性がないと思います。