jays10
(Stefan)
1
大家好:
我们正在设置新的 discourse 内部环境,并且我能够设置一个自定义 URL 方案来链接到网络上的内部资源。我想在发新帖时添加一个简单的按钮,我已经做到了,但我希望能够使用突出显示的文本作为链接标题以及实际链接本身。目前,我只是使用 apply surround 将我们需要的内容插入链接,但我们必须手动更改链接标题,请看下面的代码。
<script type="text/discourse-plugin" version="1.0">
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "dms_button",
group: "fontStyles",
icon: "fab-wikipedia-w",
perform: e => e.applySurround("[id_here](INET://", ')')
});
});
</script>
用户输入 123456 > 这会在突出显示的文本 [id_here](INET://123456) 周围应用此内容。
我查看了代码,但找不到任何可以帮助我完成我们想要做的事情。有什么方法可以使用突出显示的文本作为链接标题吗?
所以您希望您选择的文本出现两次?
我不认为该功能允许您这样做?
您是否考虑过重写 onebox 逻辑以与您的协议配合使用?
jays10
(Stefan)
3
该协议运行正常,我可以按需使用 inet://,但我只是在寻找一种简单的方法让用户将自定义 URL 插入帖子。在之前的论坛(phpbb)中,我们为链接制作了一个自定义的 bbcode,效果很好,但我正在为 discourse 寻找一个更简单的解决方案。
Discourse 是否已经支持 inet:// 链接的 oneboxing?
jays10
(Stefan)
5
它不能开箱即用。所以您指的是创建一个 inet:// 的 onebox 插件,它将按我需要的方式格式化链接?
所以当用户输入 inet://12345 时,onebox 预览将包含格式正确的链接?
我的建议是,与其在组合器中执行如此低级别的操作,“只需”修改 oneboxing 子系统,使其像格式化 https:// 链接一样格式化 inet:// 链接。
具体来说,我指的是它像这样格式化内联的方式:Dark/Light Mode Toggle - #20 by jordan.vidrine
我所要做的就是粘贴链接,Discourse 会查看目标并根据 og 标签为我创建一个漂亮的链接标题。
当然,这假设您的组织可以控制目标链接页面的 og 标签。