自定义提及颜色

此主题 和 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;
}

CapturaMentionUser


在这种情况下,它是针对特定用户名的,但它也适用于群组,使用 a.mention-group[data-mention="group-name"]


我将研究如何将其制作成一个主题组件,可以从其“设置”中自定义,而无需修改 CSS:thinking:

10 个赞

我只是把它发出来。我认为这与这个话题很相符。尤其是这个

4 个赞

是否可以进行调整,以便为属于该组的每个人的提及着色?

+1

我正在寻找一种方法来识别某个主题中不在某个组(或在某个组)中的用户,该主题包含用户提及列表。