Quais são as diferentes maneiras de personalizar o conteúdo dentro de uma postagem (atributos personalizados e afins)

Obrigado pela sua resposta!

Encontrei seu primeiro link esta tarde.

Os arquivos do link do GitHub têm 7 anos, então suponho que o código possa estar desatualizado?

De qualquer forma, usei isto:

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

Que peguei de GitHub - unfoldingWord/discourse-mermaid: Adds the Mermaid JS library to discourse

Existem apenas algumas linhas de código no meu plugin e eu realmente não sei o que ele está fazendo e se tudo é necessário, mas pelo menos posso adicionar spans com uma classe nolinkify.

No meu caso, o objetivo era facilmente “deslinkificar” palavras em posts com Auto-Linkify Words (ele só aceita tags e classes para evitar linkificação), e especialmente palavras em tags de título HTML ao usar DiscoTOC - automatic table of contents

Também tentei uma solução baseada em sintaxe 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;
        }
      });
    });

Então, tentei ambas as soluções para o meu problema de tags de título com a tabela de conteúdo.
Isso não funciona:

## [nolinkify]test[/nolinkify]

Mas isso funciona:

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

Eu teria preferido a primeira sintaxe, mas acho que é incompatível com a tabela de conteúdo por causa da ordem de execução dos scripts.

3 curtidas