Quali sono i diversi modi per personalizzare i contenuti all'interno di un post (attributi personalizzati e simili)

Grazie per la tua risposta!

Mi sono imbattuto nel tuo primo link questo pomeriggio.

I file del link di GitHub hanno 7 anni, quindi suppongo che il codice possa essere obsoleto?

Comunque, ho usato questo:

export function setup(helper) {
    if (!helper.markdownIt) { return; }

    helper.registerOptions((opts, siteSettings) => {
      opts.features.nolinkify = siteSettings.no_linkify_enabled;
    });

    helper.allowList(["span.nolinkify"]);
}

Che ho preso da GitHub - unfoldingWord/discourse-mermaid: Adds the Mermaid JS library to discourse

Ci sono solo poche righe di codice nel mio plugin e non so bene cosa faccia e se tutto sia necessario, ma almeno posso aggiungere span con una classe nolinkify.

Nel mio caso, lo scopo era quello di “unlinkify” facilmente parole nei post con Auto-Linkify Words (accetta solo tag e classi per prevenire la linkificazione), e in particolare parole nei tag HTML dei titoli quando si usa DiscoTOC - automatic table of contents

Ho anche provato una soluzione basata sulla sintassi bbcode come questa:

    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;
        }
      });
    });

Quindi, ho provato entrambe le soluzioni per il mio problema dei tag del titolo con la tabella dei contenuti.
Questo non funziona:

## [nolinkify]test[/nolinkify]

Ma questo funziona:

## <span class="nolinkify">test</span>

Avrei preferito la prima sintassi, ma immagino che sia incompatibile con la tabella dei contenuti a causa dell’ordine di esecuzione degli script.

3 Mi Piace