受 此主题 和 Discord 角色自定义颜色的启发,我编写了这段非常简单的代码,它为群组和用户的提及添加了 data-mention,这样就可以通过 CSS 设置不同的颜色(而不是“通用颜色”):smile:
目前的代码是 JQuery,但将来我也会将其更改为 Vanilla JavaScript:sweat_smile:
要应用它,只需将代码粘贴到你的主题或组件的头部:
<script type="text/discourse-plugin" version="0.9">
$(document).ajaxSuccess(() =>{
$('a.mention').each(function() {
$(this).attr('data-mention', $(this).text().replace('@', ''));
});
$('a.mention-group').each(function() {
$(this).attr('data-mention', $(this).text().replace('@', ''));
});
});
</script>
之后,你可以通过 CSS 应用所需的样式:partying_face:
例如:
a.mention[data-mention="Alexander"] {
color: #4527a0 !important;
}
![]()
在这种情况下,它是针对特定用户名的,但它也适用于群组,使用 a.mention-group[data-mention="group-name"]
我将研究如何将其制作成一个主题组件,可以从其“设置”中自定义,而无需修改 CSS:thinking: