您好,我是Discourse的新手,我的网站已上线,我正在尝试为社区的一个重要部分解决关键功能问题。
用户拥有可以导出代表某些游戏状态的魔术字符串的软件,我想将该状态很好地呈现为一个从字符串生成的表格(在页面加载时)。
理想情况下,我在发布时提供模板,或者用户将他们的魔术字符串放在命名类或其他东西里面,字符串将在页面加载时被渲染(装饰?)。
我能做到吗?我目前正在考虑编写一个脚本来解析所有此类元素/类的字符串,但我正在努力如何/何时让脚本修改显示的(已处理的?)帖子。
谢谢,
Brett
您好,我是Discourse的新手,我的网站已上线,我正在尝试为社区的一个重要部分解决关键功能问题。
用户拥有可以导出代表某些游戏状态的魔术字符串的软件,我想将该状态很好地呈现为一个从字符串生成的表格(在页面加载时)。
理想情况下,我在发布时提供模板,或者用户将他们的魔术字符串放在命名类或其他东西里面,字符串将在页面加载时被渲染(装饰?)。
我能做到吗?我目前正在考虑编写一个脚本来解析所有此类元素/类的字符串,但我正在努力如何/何时让脚本修改显示的(已处理的?)帖子。
谢谢,
Brett
当然,这应该是可能的。您有一个用于装饰已处理帖子的 API。
例如:decorateCookedElement
您能否分享一个您正在尝试实现的可视化示例?
也许你可以创建自己的样式
好的!看来 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 });
谢谢!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.