在插件中,如何添加每个用户的 CSS?例如,由用户设置引起?
您想做什么?您可以通过常规的主题 CSS 来更改单个用户名/提及颜色。如果您指的是对某个主题本身进行仅针对某个用户的特定更改,我认为您无法在不为其提供自己主题的情况下做到这一点。不过我不是专家。
2 个赞
例如,一个每个用户都可以更改某些内容(例如 Markdown 编写器)字体的设置。
您可以提供用户可以加入的组,并使用 https://meta.discourse.org/t/css-classes-for-current-users-groups/226068。
或者,用户可以使用浏览器插件仅为自己更改 CSS。我使用 Stylus 来自定义我在 Meta 上的体验。
作曲家是一个随机的例子吗?或者您想在“在作曲家的 Markdown 模式下使用等宽字体”(可在偏好设置中启用或禁用)之外提供什么?
1 个赞
算是吧。我当时在想字体如何能根据用户而改变。
1 个赞
您可以通过类似以下方式在插件中实现此目的:
- 使用插件 API 添加
api.addSaveableUserOptionField("composer-custom-font") - 将该字段添加到数据库的
UserOption表和序列化器中,以便可以设置它 - 向用户界面页面添加一个连接器,以便可以设置该选项
- 您可以将该设置设为下拉菜单,例如,如果用户选择某种字体/字体样式,它会在数据库中添加他们的偏好设置
- 您可以扩展 composer 代码以考虑他们选择的偏好设置,并通过 JS 直接更改样式,或根据所选偏好设置添加 CSS 类,然后您可以通过 CSS 为该特定类应用样式
2 个赞