Я создал 6 CSS-классов для тегов: tag-style-1, tag-style-2, tag-style-3, tag-style-4, tag-style-5, tag-style-6. Я хочу случайным образом назначать один из этих шести классов новому тегу при его создании, чтобы новый тег имел уникальный стиль. Я знаю, что компонент стиля тега возможен, но его нужно добавлять вручную, а не назначать случайно!
Не совсем случайно, и не при создании тега, но можно сделать что-то похожее на компонент с Tag Icons и использовать replaceTagRenderer() из plugin-api для изменения HTML тегов при отображении (см. https://github.com/isabella232/discourse-tag-icons/blob/master/common/header.html).
Функция вроде этой могла бы принимать имя тега, сопоставлять его с числом от 1 до 6 (например, кодировать строку в base64 и брать последнюю цифру или применять модуль) и добавлять это значение в HTML-строку. Это не будет случайным, так как стиль будет определяться именем тега, но стиль будет одинаковым для всех пользователей.
Исходная функция рендеринга тегов по умолчанию находится здесь: