# 更改个人消息颜色

**URL:** https://meta.discourse.org/t/change-color-of-personal-messages/108816
**Category:** Theme component
**Created:** [2019 年2 月 11 日 10:56 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816 "2019-02-11T10:56:20Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [2019 年2 月 11 日 10:56 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/1 "2019-02-11T10:56:20Z")

</div>

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

> **[Charlie / discourse-theme-colored-private-messages · GitLab](https://framagit.org/oca/discourse-theme-colored-private-messages)**
>
> Framagit

* * *

### 功能说明

当阅读私信时，它会改变页面的外观：

- 顶部横幅颜色（带渐变），
- 字体颜色，
- 背景颜色，
- 标题颜色，
- 并在回复后添加一些文本。

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

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [2020 年4 月 13 日 07:37 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/2 "2020-04-13T07:37:14Z")

</div>

谢谢你，@oca！

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

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [2020 年4 月 13 日 16:00 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/3 "2020-04-13T16:00:45Z")

</div>

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

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

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

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

---

<div class="post-metadata">

### Author: ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)
#### Post date: [2020 年4 月 13 日 16:15 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/4 "2020-04-13T16:15:04Z")

</div>

我记得在我们做出区分主题和主题组件的变更时，曾向 Meta 上现有的所有主题组件提交了拉取请求（PR）。

我认为这个案例之所以被遗漏，是因为它最初是作为对某个其他主题的回复，后来才被移到了 #Customization > Theme 分类下的独立主题中。

@oca 你只需在该“主题”中添加一行代码，即可使其作为主题组件运行。你需要在组件的 [about.json](https://framagit.org/oca/discourse-theme-colored-private-messages/-/blob/master/about.json) 文件中添加以下内容：

```plaintext
"component": true

```

具体操作如下：

```diff
{
  "name": "带颜色的私信",
  "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` 标签。

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [2020 年4 月 13 日 16:22 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/5 "2020-04-13T16:22:49Z")

</div>

> [@How to simplify DM's to individuals](https://meta.discourse.org/t/how-to-simplify-dms-to-individuals/145600/10?u=jord8on):
>
> @nathank kindly showed me this earlier. You can convert a theme to a theme component (and vice versa) using the “Convert” button at the bottom of the theme.

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

[![](https://global.discourse-cdn.com/meta/original/3X/b/6/b6e4a9c85531b2c8d3fc3040fca75b1d40a8d62c.jpeg) ](https://global.discourse-cdn.com/meta/original/3X/b/6/b6e4a9c85531b2c8d3fc3040fca75b1d40a8d62c.jpeg)

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [2020 年4 月 13 日 16:25 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/6 "2020-04-13T16:25:16Z")

</div>

> [@nathank](#):
>
> 查看 CSS 以及颜色混合的方式，我猜修改这个应该不太容易。有人能证明我错了吗？

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

---

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [2020 年4 月 14 日 08:58 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/8 "2020-04-14T08:58:57Z")

</div>

> [@Johani](#):
>
> “component”: true

完成！  
感谢提示。

---

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [2020 年4 月 14 日 09:00 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/9 "2020-04-14T09:00:39Z")

</div>

> [@jord8on](#):
>
> 我也很希望能在这里使用 HEX 颜色代码！

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

---

<div class="post-metadata">

### Author: ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)
#### Post date: [2020 年4 月 14 日 18:47 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/10 "2020-04-14T18:47:51Z")

</div>

很好 👍

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

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2020 年5 月 12 日 01:30 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/12 "2020-05-12T01:30:42Z")

</div>

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

 ![Screen Shot 2020-05-11 at 9.29.37 PM](https://global.discourse-cdn.com/meta/original/3X/4/1/4192d83d672f17e0b3bb30bfb9c37aca9e8e9e19.png)

---

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [2020 年5 月 12 日 08:20 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/13 "2020-05-12T08:20:44Z")

</div>

感谢你的支持！

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

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [2022 年4 月 23 日 08:04 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/14 "2022-04-23T08:04:54Z")

</div>

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

---

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [2022 年5 月 12 日 09:27 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/15 "2022-05-12T09:27:29Z")

</div>

我认为可以做得更好。  
我使用 [个人消息气泡](https://meta.discourse.org/t/personal-message-bubbles/147994) 已经有一段时间了，但它已被添加为核心功能。

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2022 年5 月 12 日 09:34 UTC](https://meta.discourse.org/t/change-color-of-personal-messages/108816/16 "2022-05-12T09:34:04Z")

</div>

现在那个组件还能正常工作吗，因为私信气泡已经集成到核心了？我记得之前有人遇到过一些冲突 [Personal Message Bubbles - #93 by AntiMetaman](https://meta.discourse.org/t/personal-message-bubbles/147994/93)
