Quelque chose comme des shortcodes pour Discourse ?

J’ai récemment découvert MDX, qui permet d’intégrer des composants dynamiques dans le Markdown en utilisant JSX.

Je me demande à quel point il serait difficile de faire quelque chose de similaire dans les messages de Discourse.

Je souhaite que les utilisateurs puissent lancer des jeux directement dans le forum en insérant des extraits de type shortcode dans leurs messages :

Voici le jeu du jour. Voyons qui obtiendra le meilleur score.

[game type="whatever" prop2="something" expires="midnight"]

La balise serait remplacée par un jeu JavaScript dynamique. Les scores seraient enregistrés dans la base de données (ou envoyés vers Firebase depuis le backend).

Quelqu’un sait-il si une telle solution existe déjà ou s’il existe un plugin open-source qui pourrait donner des idées sur la manière de l’implémenter ?

2 « J'aime »

Il existe un plugin BBCode et le composant de thème Texte de l’espace réservé du modèle de sujet qui offrent un point de départ, mais vous devrez comprendre assez de choses sur le Guide pour débutants pour créer des plugins Discourse, partie 1 : Créer un plugin de base.

3 « J'aime »

Merci, j’ai trouvé un plugin de calendrier qui semble contenir des exemples de ce que je recherche (balise markdown personnalisée et quelques contrôleurs backend). J’ai également trouvé un guide sur les extensions markdown, mais je ne l’ai pas encore lu en détail.

Si je peux charger un iframe dans une modale et communiquer les scores en utilisant postMessage, cela pourrait permettre d’intégrer les jeux dans des pages MDX sur le site aussi. Je vais faire des expériences avec cela.

2 « J'aime »