Вдохновленный этой темой и пользовательскими цветами ролей в Discord, я написал очень простой код, который добавляет data-mention к упоминаниям групп и пользователей. Это позволяет задавать разные цвета (а не «общий цвет») через CSS ![]()
На данный момент код написан на JQuery, но в будущем я переделаю его на чистый JavaScript ![]()
Чтобы применить его, просто вставьте код в секцию <head> вашей темы или компонента:
<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 ![]()
Например:
a.mention[data-mention="Alexander"] {
color: #4527a0 !important;
}
![]()
В данном примере использовалось конкретное имя пользователя, однако это также работает для групп с помощью a.mention-group[data-mention="group-name"]
Я подумаю над тем, чтобы превратить это в компонент темы, который можно настраивать через его «настройки» без изменения CSS ![]()