大家好!
我正在开发一个插件,尝试将 wikilink 加载为链接引用。
我已经有了一个基本实现,但不喜欢目前的设计,想看看是否有我遗漏的 API 可以让这个过程更顺畅。
简而言之:
- 在
post-linkswidget 上使用api.reopenWidget来覆盖html方法。 - 在 widget 的 第一次 渲染时,获取 topic 标题,然后搜索标题中包含 [[title]] 的 topic。
- 获取数据后,安排一次带有响应数据的重新渲染,并使用一个标志来确保我们不会在下一次渲染时无限获取。
这种方法不理想,因为:
- 初始渲染和其余数据渲染之间存在延迟。
- 防止无限获取的标志似乎容易出错。
- 我需要进行两次 API 调用,一次获取 topic 标题(应该在 widget 树的更高层级可用),另一次获取链接。
- 我必须在我的插件代码中复制粘贴原始的
htmlwidget 方法,这使得它容易被 fork。
有什么方法可以缓解这些问题吗?理想情况下,我想编辑原始的 loadTopicView 调用以包含 wikilinks。
另外,Discourse 或社区是否提供咨询服务?我很乐意付费与专家进行一次通话,深入了解 Discourse 的架构以及可用的插件。我已经阅读了大部分开发文档,并且在代码库中进行了大量的跳转。