شكرا على ردك!
لقد عثرت على رابطك الأول بعد ظهر اليوم.
ملفات رابط 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
هناك بضعة أسطر فقط من الكود في إضافتي ولا أعرف حقًا ما يفعله وما إذا كان كل شيء مطلوبًا، ولكن على الأقل يمكنني إضافة عناصر span بفئة nolinkify.
في حالتي، كان الغرض هو “إلغاء الربط” بسهولة للكلمات في المشاركات باستخدام Auto-Linkify Words (فهو يقبل فقط الوسوم والفئات لمنع الربط)، وخاصة الكلمات في وسوم عناوين HTML عند استخدام DiscoTOC - automatic table of contents
لقد جربت أيضًا حلاً يعتمد على صيغة 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>
كنت أفضل الصيغة الأولى، لكنني أعتقد أنها غير متوافقة مع جدول المحتويات بسبب ترتيب تنفيذ البرامج النصية…