¡Gracias por tu respuesta!
Me encontré con tu primer enlace esta tarde.
Los archivos del enlace de GitHub tienen 7 años, ¿así que supongo que el código podría estar desactualizado?
De todos modos, usé esto:
export function setup(helper) {
if (!helper.markdownIt) { return; }
helper.registerOptions((opts, siteSettings) => {
opts.features.nolinkify = siteSettings.no_linkify_enabled;
});
helper.allowList(["span.nolinkify"]);
}
Que tomé prestado de GitHub - unfoldingWord/discourse-mermaid: Adds the Mermaid JS library to discourse
Solo hay unas pocas líneas de código en mi plugin y realmente no sé qué hace ni si todo es necesario, pero al menos puedo agregar spans con una clase nolinkify.
En mi caso, el propósito era “desenlazar” fácilmente palabras en publicaciones con Auto-Linkify Words (solo acepta etiquetas y clases para evitar la creación de enlaces), y especialmente palabras en etiquetas de título mientras se usa DiscoTOC - automatic table of contents
También probé una solución basada en sintaxis bbcode como esta:
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;
}
});
});
Así que probé ambas soluciones para mi problema de etiquetas de título con la tabla de contenido.
Esto no funciona:
## [nolinkify]test[/nolinkify]
Pero esto funciona:
## <span class="nolinkify">test</span>
Hubiera preferido la primera sintaxis, pero supongo que es incompatible con la tabla de contenido debido al orden de ejecución de los scripts.