cogdog
(Alan Levine)
1
我觉得 Discourse 界面的这一部分令人困惑。在编辑器中,链接图标用于插入超链接(这很合理,这正是它应有的功能,且与 99% 的其他界面一致)。
但在查看帖子时,相同的图标却被用于链接/社交分享功能。
实际上,我认为在这里使用更常见的分享图标会更合理:
有一段时间,我使用 通过 API 更改图标的方法:
<script type="text/discourse-plugin" version="0.8">
api.replaceIcon('link', 'external-link-tab');
</script>
但这会同时更改编辑器中的图标,因此用分享图标来表示插入超链接就不太合理了。如果能有独立的 API 调用来分别引用该按钮的这两种上下文,那将非常有帮助,这样我就可以将其替换为分享链接图标,而不会影响插入链接的图标。
???(我对 Discourse 内部工作原理的了解大多比较浅显)
4 个赞
Falco
(Falco)
5
这需要 Discourse 进行更改。我们必须在内部复制此图标,同时默认情况下两个版本使用相同的图标,以便下游用户可以分别针对每个版本进行更改。
cogdog
(Alan Levine)
12
再次说明,我并不是在寻找一个图标!我可以在自己的网站上使用任何我想要的图标。
我所需要的是在 Discourse 中实现一种方法,正如通过 API 覆盖图标的方式中所指定,用于更改分享帖子的按钮图标,而不影响编辑器中插入超链接按钮所使用的图标。
1 个赞
pmusaraj
(Penar Musaraj)
14
是的,一旦下面的提交进入 tests-passed,你就可以进行你打算做的操作:
(该提交可能需要一个小时左右才能进入 tests-passed。)
因此,我为帖子和主题按钮中的分享图标添加了新的 ID,这样你现在就可以在 API 的 replaceIcon 调用中单独隔离它们,如下所示:
api.replaceIcon('d-post-share', 'share-square');
api.replaceIcon('d-topic-share', 'share-square');
6 个赞
cogdog
(Alan Levine)
16
谢谢!我刚才正想弄清楚为什么 Meta 这里分享按钮图标的类名与我们最新版本的 Discourse 不同。
3 个赞
cogdog
(Alan Levine)
17
看到更改已生效并在更新中可用,我们已在网站上进行了测试。在此提醒其他人:使用该图标需要通过 admin -> settings -> svg icon subset 添加,并使用 fa-share-square。
效果完美。我们的分享图标从:
变为:
再次感谢。
5 个赞
cogdog
(Alan Levine)
19
已完成!请查看上文
我几小时前已更新我的 Discourse,新功能已生效。
3 个赞
这很有趣。我刚刚尝试更新自己的 Discourse 实例,但仍然没有看到它。
请允许我进行一些故障排查……
ondrej
22
<script type="text/discourse-plugin" version="0.8">
api.replaceIcon('d-post-share', 'share-square');
api.replaceIcon('d-topic-share', 'share-square');
</script>
编辑主题时,只需将此代码添加到您的 header 中即可。
3 个赞
cogdog
(Alan Levine)
23
我发现还有一步——你需要将此 Font Awesome 图标作为 SVG 图标提供。否则,在调整主题头部后,按钮将显示为空白。
我的设置如下所示:
1 个赞
cogdog
(Alan Levine)
24
此次更新除了更改分享按钮图标的类名外,未做任何其他改动,因此您不会立即察觉到差异。默认情况下,将保留之前的链接图标(link)。
如果您在浏览器中检查该按钮,发现其包含类名 d-icon-d-post-share(更新前为 d-icon-link),则表明更新已完成。
您需要按照此处说明编辑您的主题头部:Substitute Link Icon Only For Sharing - #22 by ondrej
1 个赞