我为标签创建了 6 个 CSS 类:tag-style-1、tag-style-2、tag-style-3、tag-style-4、tag-style-5、tag-style-6。我想在我创建新标签时,随机分配以上 6 个类中的一个给它,这样新创建的标签就会有不同的样式。我知道标签样式组件是可行的,但它需要手动添加,而不是随机分配!
Alteras
(Steven Chang)
2
不完全是随机的,也不是在创建标签时,但你可以做一些类似于 Tag Icons 组件的事情,并使用 plugin-api 中的 replaceTagRenderer() 来修改视图中标签的 HTML(参见 https://github.com/isabella232/discourse-tag-icons/blob/master/common/header.html)。
一个像这样的函数将获取标签名,将标签名映射到 1-6 的数字(即,将字符串编码为基数 6 并取最后一位/应用模数),并将其添加到 HTML 字符串中。它不会是随机的,因为样式将由标签名决定,但它会为所有用户保持相同的样式。
原始的默认渲染标签函数在这里: