La mia estensione markdown funziona nell'anteprima ma non in cooked

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.

Ho lo stesso problema quando provo a sovrascrivere il renderer dei fence (md.renderer.rules.fence) — funziona nella finestra di anteprima, ma dopo l’invio viene mostrato il renderer Discourse predefinito.

Ecco il codice:

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">Copia e incolla questo codice in n8n per provare il workflow</div>' +
               tokens[idx].content +
             '</div>'
    };
  });

}

Puoi anche vedere la struttura completa del plugin qui. Qualsiasi aiuto sarebbe molto apprezzato!

Ha mai funzionato per te?

Nel mio caso, ce l’ho nella cartella giusta /assets/javascripts/discourse-markdown e viene ancora visualizzato solo nell’anteprima.

Per altre persone, ha funzionato dopo un po’, il che mi fa pensare che abbiano ricaricato il server. L’ho fatto anch’io e non ha funzionato.