链接到自定义方案

大家好:

我们正在设置新的 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 逻辑以与您的协议配合使用?

该协议运行正常,我可以按需使用 inet://,但我只是在寻找一种简单的方法让用户将自定义 URL 插入帖子。在之前的论坛(phpbb)中,我们为链接制作了一个自定义的 bbcode,效果很好,但我正在为 discourse 寻找一个更简单的解决方案。

Discourse 是否已经支持 inet:// 链接的 oneboxing?

它不能开箱即用。所以您指的是创建一个 inet:// 的 onebox 插件,它将按我需要的方式格式化链接?

所以当用户输入 inet://12345 时,onebox 预览将包含格式正确的链接?

我的建议是,与其在组合器中执行如此低级别的操作,“只需”修改 oneboxing 子系统,使其像格式化 https:// 链接一样格式化 inet:// 链接。

具体来说,我指的是它像这样格式化内联的方式:Dark/Light Mode Toggle - #20 by jordan.vidrine

我所要做的就是粘贴链接,Discourse 会查看目标并根据 og 标签为我创建一个漂亮的链接标题。

当然,这假设您的组织可以控制目标链接页面的 og 标签。