Что-то вроде шорткодов для Discourse?

Недавно я открыл для себя MDX, который позволяет встраивать динамические компоненты в Markdown с помощью JSX.

Меня интересует, насколько сложно реализовать что-то подобное в постах Discourse.

Я хочу, чтобы пользователи могли запускать игры на форуме, вставляя в посты фрагменты, похожие на шорткоды:

Вот сегодняшняя игра. Давайте посмотрим, кто сможет набрать лучший результат.

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

Тег должен заменяться на динамическую JavaScript-игру. Результаты сохранялись бы в базе данных (или отправлялись в Firebase с бэкенда).

Подскажите, пожалуйста, существует ли что-то подобное или есть ли open-source плагин, который мог бы дать идеи по реализации?

Существует плагин BBCode и компонент темы Текст-заполнитель шаблона темы, которые дают начало, но вам потребуется достаточно хорошо разобраться в Руководстве для начинающих по созданию плагинов Discourse. Часть 1: Создание базового плагина

Спасибо, я нашел плагин календаря, который, похоже, содержит примеры того, что я ищу (пользовательский тег Markdown и некоторые контроллеры бэкенда). Я также нашел руководство по расширениям Markdown, но еще не читал его внимательно.

Если я смогу загрузить iframe в модальное окно и обмениваться данными о счетах с помощью postMessage, это позволит внедрять игры в MDX-страницы на сайте. Я собираюсь поэкспериментировать с этим.