更改个人消息颜色

有一段时间我借用了 @ChrisBeach 的 CSS 代码片段,因此我将其转换为一个主题组件,结果请见:


功能说明

当阅读私信时,它会改变页面的外观:

  • 顶部横幅颜色(带渐变),
  • 字体颜色,
  • 背景颜色,
  • 标题颜色,
  • 并在回复后添加一些文本。

所有这些更改都是可选的,可以通过各自的开/关设置进行切换。主要的“私信”颜色也可以通过设置进行修改。若要调整各种颜色,请编辑 CSS 文件的顶部部分。

18 个赞

谢谢你,@oca

我发现这仅适用于颜色名称,而不适用于十六进制颜色代码。这使得匹配颜色调色板变得棘手。通过查看 CSS 和颜色混合的方式,我猜测要修改这一点并不容易。有人能证明我错了吗?

2 个赞

看起来这是一个主题,而不是主题“组件”,但如果我理解有误,请纠正我。

我已经在用一个完全自定义的主题,而且同一时间只能使用一个主题,不过您可以允许用户在不同主题之间切换……是这样吗?

据我理解,主题组件允许您将组件应用到当前激活/主要/默认的主题上。至少其他主题组件对我来说就是这样工作的。在主题组件中,有一个复选框写着“在这些主题中包含此组件”,这允许您将组件应用到您的默认主题上。

是否有可能将此内容转换为组件,以便我可以保持我的主要/默认主题处于激活状态,同时为私信(DM/PM)启用这些自定义设置?

2 个赞

我记得在我们做出区分主题和主题组件的变更时,曾向 Meta 上所有的主题组件提交过 PR。

我认为这个案例被遗漏了,因为它最初是对某个其他话题的回复,后来被移到了 #theme 分类下的独立话题中。

@oca 你只需在这个“主题”中添加一行,即可使其作为主题组件运行。你需要在组件的 about.json 文件中添加:

"component": true

如下所示:

{
  "name": "Private messages with color",
  "about_url": "https://framagit.org/oca/discourse-theme-colored-private-messages   ",
  "license_url": "https://framagit.org/oca/discourse-theme-colored-private-messages/blob/master/LICENSE",
+ "component": true,
   "assets": {
        "asset-variable": "assets/background.svg"
   }
}

完成后,它应该就能像其他组件一样正常工作,之后我们就可以为该话题添加 theme-component 标签。

6 个赞

在此期间,@Rhidian 教了我一个新技巧:你可以使用“转换”按钮将主题转换为组件,反之亦然…

2 个赞

我也很希望能在这里使用 HEX 颜色代码!

3 个赞

完成!
感谢提示。

5 个赞

我会查看一下。
既然我们现在已经可以这样做,将其添加为组件参数或许是个不错的选择。
不敢保证一定能实现,我还在努力学习这方面的内容。

6 个赞

很好 :+1:

我已为这个主题添加了标签。方便的时候,能否请在该主题的首帖中添加一两张截图?不着急,但这有助于更直观地看到该组件带来的变化。

6 个赞

我认为问题在于 about.json 末尾多了一个逗号

6 个赞

感谢你的支持!

但对于那些制定 JSON 规范的人来说,就不必感谢了……

4 个赞

这是更改私信/悄悄话颜色的方法吗?

2 个赞

我认为可以做得更好。
我使用 个人消息气泡 已经有一段时间了,但它已被添加为核心功能。

1 个赞

现在那个组件还能正常工作吗,因为私信气泡已经集成到核心了?我记得之前有人遇到过一些冲突 Personal Message Bubbles - #93 by AntiMetaman

3 个赞