引入“高亮主题”功能

对于

您可以通过将主题置顶到列表顶部来突出显示该主题。这是 Discourse 的原生功能。

1 个赞

我知道,但在我看来,置顶是关于此类别规则的,或者类似的东西。对我来说,我更希望有一种方法可以突出列表中的某些主题,或者不将它们置顶。

您能分享一个您设想的工作流程模型吗?

类似这样。给主题标题加上颜色和粗体,再加个星号… 只是个示例,这样用户就能知道这个主题被高亮和精选了。

太棒了!你可以轻松地使用一个小主题组件来实现这一点。首先创建一个 staff 标签来表示这种“高亮”状态,比如说它是“highlight”。然后,用这个标签标记你想要高亮的帖子。

在主题代码中,你需要按你想要的方式来设置样式,比如说:

tr.tag-highlight {
    background-color: blue;
    font-weight: bold;
    border: 3px dotted pink;
}

然后它看起来是这样的:

6 个赞

我知道如何在 CSS 中实现,该示例实际上在我的 Discourse 中运行。我只想知道是否可以在此官方功能中构建它。我认为高亮显示是一个非常有用的功能。

3 个赞

这非常酷,并且可以用来突出显示主题列表中的主题,但我也想突出显示主题本身。似乎该标签仅在主题页面上用于标签本身。

我尝试这样做,这似乎可能有效,但我可能做错了。

.title-wrapper div.has-highlight {
  /* 标题的样式(带有类) */
  color: blue !important;
  font-weight: bold;
}
1 个赞

在这种情况下,“这个主题本身”是什么意思?

在带有该标签的主题页面上,我想将主题的颜色(或其他样式)设为不同,以便它不仅在主题列表中,而且在您访问主题页面时也能显示为特殊。

你是说一个帖子的第一条回复,也就是 OP,对吗?

body.tag-highlight article#post_1 {
    background-color: blue;
    font-weight: bold;
    border: 3px dotted pink;
}
1 个赞

太棒了!现在我该如何定位主题的标题?


// 这会定位标签本身
a[data-tag-name="extra-special-topic"] {
    color: yellow !important;
}

// 这会更改主题列表中的标题
.tag-extra-special-topic .raw-topic-link {
    color: blue !important;
}

// 这会定位 OP 的背景/正文
body.tag-extra-special-topic article#post_1 {
    background-color: blue;
    font-weight: bold;
    border: 3px dotted pink;
}
.tag-extra-special-topic #topic-title .fancy-title {
  color: papayawhip;
}

我亲爱的朋友,你尝试了他们建议的方法吗?我必须承认,他们的解释我没能理解。 :rofl:

哪一部分?你只需打开主题编辑器并编辑 CSS 即可。

这对我有奇怪的效果,当我进入高亮显示的主题时,它也会应用到“新帖和未读主题”列表底部的其他主题上。

但如果我不在那个主题里,只有高亮显示的主题被高亮显示(正如你所料)。

这是怎么回事 :lol: