尝试在用户帖子中替换/自动格式化字符串

您好,我是Discourse的新手,我的网站已上线,我正在尝试为社区的一个重要部分解决关键功能问题。

用户拥有可以导出代表某些游戏状态的魔术字符串的软件,我想将该状态很好地呈现为一个从字符串生成的表格(在页面加载时)。

理想情况下,我在发布时提供模板,或者用户将他们的魔术字符串放在命名类或其他东西里面,字符串将在页面加载时被渲染(装饰?)。

我能做到吗?我目前正在考虑编写一个脚本来解析所有此类元素/类的字符串,但我正在努力如何/何时让脚本修改显示的(已处理的?)帖子。

谢谢,
Brett

1 个赞

当然,这应该是可能的。您有一个用于装饰已处理帖子的 API。
例如:decorateCookedElement

您能否分享一个您正在尝试实现的可视化示例?

1 个赞

也许你可以创建自己的样式

1 个赞

好的!看来 decorateCookedElement 正是我需要的(根据 @Arkshine 的注释)。

我还发现了这篇帖子,其中包含一些关于过滤感兴趣元素的不错示例:
如何在 DOM 中渲染主题 HTML 后触发脚本? - dev - Discourse Meta

特别是,我觉得这个非常有帮助:

$.fn.doSomething = function() {
  const targetElement = $(this).children("[data-theme-test]").length;
  if (!targetElement) return;

  // do your work
  
  return this;
};

api.decorateCooked($elem => $elem.doSomething(), { onlyStream: true });

谢谢!

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.