Algo como shortcodes para Discourse?

Recentemente descobri o MDX, que permite incorporar componentes dinâmicos em Markdown usando JSX.

Estou me perguntando quão difícil seria fazer algo semelhante em posts do Discourse.

Quero que os usuários possam iniciar jogos no fórum ao incorporar trechos semelhantes a shortcodes nos posts:

Aqui está o jogo de hoje. Vamos ver quem consegue a melhor pontuação.

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

A tag seria substituída por um jogo JavaScript dinâmico. As pontuações seriam salvas no banco de dados (ou enviadas para o Firebase a partir do backend).

Alguém sabe se algo assim já existe ou se há um plugin de código aberto que possa fornecer ideias sobre como implementá-lo?

2 curtidas

Existe um plugin bbcode e o componente de tema Texto do Espaço Reservado do Modelo de Tópico que oferecem um ponto de partida, mas você precisará entender bastante sobre Guia do Iniciante para Criar Plugins do Discourse Parte 1: Criando um plugin básico

3 curtidas

Obrigado, encontrei um plugin de calendário que parece ter alguns exemplos do que estou procurando (tag markdown personalizada e alguns controladores de back-end). Também encontrei um guia de extensões de markdown, mas ainda não li com atenção.

Se eu puder carregar um iframe em um modal e comunicar pontuações usando postMessage, isso pode permitir que os jogos sejam incorporados em páginas MDX no site também. Vou experimentar com isso.

2 curtidas