我创建了一个主题,但不希望普通用户使用它。
我可以不勾选“允许用户选择主题”来使用该主题吗?(我是管理员。)
我创建了一个主题,但不希望普通用户使用它。
我可以不勾选“允许用户选择主题”来使用该主题吗?(我是管理员。)
我的意思是作为主主题,即对我来说的主主题。不仅仅是预览,因为预览选项一旦从 URL 中移除,就会恢复到正常状态。
管理员和版主在页面 <body> 上会被分配 .staff 类,因此你可以在主题中这样操作:
body.staff {
// 你的管理员主题 CSS 代码放在这里
}
普通用户也可以通过浏览器开发者工具向其 <body> 标签添加 staff 类来查看该主题,但我不确定是否有人会费心去尝试这样做。
对于更高级的主题,如果你使用插件出口(plugin outlet)或通过模板覆盖来修改 HTML(参见 Discourse 主题开发者指南),你可以这样做:
{{#if currentUser.staff}}
<h1>你好,管理员和版主!</h1>
{{/if}}
a) 我的主题中未使用任何 CSS,仅包含配色方案。
b) 即便如此,仍需将该主题列为可用。
您可以使用 CSS 覆盖配色方案(详情参见:https://meta.discourse.org/t/updating-themes-and-plugins-to-support-automatic-dark-mode/161595)。否则,您需要构建一个自定义插件,以便为管理员设置不同的主题,因为 Discourse 本身尚无此功能。
建议的做法是将管理员 CSS 放在您的默认主题中;除非有人深入查看您的 CSS 代码,否则只有您能看到并使用它。
另一种完全可行的方案是使用浏览器插件(如 Stylish)在本地设置自定义 CSS。