Discourse 的类似短代码功能?

我最近发现了 MDX,它允许你使用 JSX 在 Markdown 中嵌入动态组件。

我在想,在 Discourse 帖子中实现类似功能的难度有多大。

我希望用户能够在论坛帖子中嵌入类似短代码的片段来启动游戏:

这是今天的游戏。让我们看看谁能获得最高分。

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

该标签将被替换为一个动态的 JavaScript 游戏。分数将保存在数据库中(或由后端发送到 Firebase)。

有人知道是否有现成的解决方案,或者是否有开源插件可以提供如何实现这一功能的一些思路吗?

2 个赞

有一个 bbcode 插件,还有一个主题模板占位文本主题组件可以提供一些起步帮助,但你需要相当了解Discourse 插件创建初学者指南 第 1 部分:创建基础插件

3 个赞

谢谢,我找到了一个 日历插件,看起来可能包含一些我需要的示例(自定义 Markdown 标签 以及一些后端控制器)。我还发现了一份 Markdown 扩展指南,但尚未仔细阅读。

如果我能将 iframe 加载到模态框中,并通过 postMessage 传递分数,那么游戏或许也能嵌入到站点的 MDX 页面中。我打算尝试一下。

2 个赞