Meine Markdown-Erweiterung funktioniert in der Vorschau, aber nicht im gerenderten Inhalt

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.

Ich habe das gleiche Problem, wenn ich versuche, den Fence-Renderer (md.renderer.rules.fence) zu überschreiben – es funktioniert im Vorschaufenster, aber nach dem Absenden wird die standardmäßige Discourse-Darstellung angezeigt.

Hier ist der 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">Kopieren und fügen Sie diesen Code in n8n ein, um mit dem Workflow zu experimentieren</div>' +
               tokens[idx].content +
             '</div>'
    };
  });

}

Den vollständigen Plugin-Aufbau können Sie auch hier einsehen. Jede Hilfe wäre sehr willkommen!

Hat es bei Ihnen jemals funktioniert?

In meinem Fall habe ich es im richtigen Ordner /assets/javascripts/discourse-markdown und es wird immer noch nur in der Vorschau angezeigt.

Bei einigen anderen Leuten hat es nach einer Weile funktioniert, was mich vermuten lässt, dass sie den Server neu gestartet haben. Das habe ich auch getan und kein Erfolg.