Quelles sont les différentes manières de personnaliser le contenu d'un article (attributs personnalisés, etc.)

Merci pour votre réponse !

J’ai découvert votre premier lien cet après-midi.

Les fichiers du lien GitHub ont 7 ans, donc je suppose que le code pourrait être obsolète ?

Quoi qu’il en soit, j’ai utilisé ceci :

export function setup(helper) {
    if (!helper.markdownIt) { return; }
  
    helper.registerOptions((opts, siteSettings) => {
      opts.features.nolinkify = siteSettings.no_linkify_enabled;
    });
  
    helper.allowList(["span.nolinkify"]);
}

Que j’ai emprunté à GitHub - unfoldingWord/discourse-mermaid: Adds the Mermaid JS library to discourse

Il n’y a que quelques lignes de code dans mon plugin et je ne sais pas vraiment ce qu’il fait ni si tout est nécessaire, mais au moins je peux ajouter des spans avec une classe nolinkify.

Dans mon cas, le but était de facilement “dé-lier” des mots dans les posts avec Auto-Linkify Words (il n’accepte que les balises et les classes pour empêcher la création de liens), et en particulier des mots dans les balises HTML de titre lors de l’utilisation de DiscoTOC - automatic table of contents

J’ai également essayé une solution basée sur la syntaxe bbcode comme celle-ci :

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

J’ai donc essayé les deux solutions pour mon problème de balises de titre avec la table des matières.
Cela ne fonctionne pas :

## [nolinkify]test[/nolinkify]

Mais cela fonctionne :

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

J’aurais préféré la première syntaxe, mais je suppose qu’elle est incompatible avec la table des matières en raison de l’ordre d’exécution des scripts…

3 « J'aime »