Mon extension Markdown fonctionne en aperçu mais pas en rendu

I have followed these instructions to create a Block BBCode markdown extension for Discourse.

The plugin works when previewing and editing a topic. However, when I actually post the Topic, the raw BBCode mark up appears in the post completely unprocessed.

Is there something I need to do to make sure the plugin operates on posted topics?

I’ve had this happen due to importing modules using Javascript import statement, and the differences in paths between the browser and the mini_racer.

Can you share your plugin code so we can help you to debug?

Thank you for the reply Rafael.

The plugin’s code is here:

As you can see it is very simple. I am using ES Module imports, but only for adding a button to the editing bar. The Markdown extension (https://gitlab.com/textblaze/discourse-snippets/blob/master/assets/javascripts/lib/markdown-it/snippets.js.es6) doesn’t import anything.

I think this is simple naming issue due to:

Move it from markdown-it to the discourse-markdown directory.

That fixed it. Thank you Sam.

Je rencontre le même problème lorsque j’essaie de remplacer le rendu des blocs de code (md.renderer.rules.fence) — cela fonctionne dans la fenêtre d’aperçu, mais le rendu Discourse par défaut s’affiche après la soumission.

Voici le code :

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

  helper.allowList(['div.embedded_workflow', 'div.embedded_tip']);

  helper.registerPlugin((md) => {
    md.renderer.rules.fence = function (tokens, idx, options, env, slf) {
      let content = tokens[idx].content;
      return '<div class="embedded_workflow">' +
               '<div class="embedded_tip">Copiez et collez ce code dans n8n pour tester le flux de travail</div>' +
               tokens[idx].content +
             '</div>'
    };
  });

}

Vous pouvez également voir la structure complète du plugin ici. Toute aide serait grandement appréciée !

Est-ce que cela a déjà fonctionné pour vous ?

Dans mon cas, je l’ai dans le bon dossier /assets/javascripts/discourse-markdown et il n’apparaît toujours que dans l’aperçu.

Pour d’autres personnes, cela a fonctionné après un certain temps, ce qui me fait penser qu’elles ont rechargé le serveur. Je l’ai fait aussi et sans succès.