bquast
(Bastiaan Quast)
2023 年2 月 26 日 13:28
1
默认主题允许在其设置中自定义 CSS/HTML。
作为一项实验,我想隐藏时间线,有人提出了一个很好的建议(另一个话题),即使用 CSS 来实现这一点。建议是将这 4 行实现为一个主题组件。这并不难,但我认为默认主题中的自定义 CSS 选项可能更容易。
我切换了我的主题,并将这 4 行插入为自定义 CSS。确实,这完美地奏效了。
这让我不禁要问,为什么(只有)在这里可以使用自定义 CSS/HTML。将其作为通用设置是否更有意义?
可能自定义 CSS 只在主题中有用,但通用设置也很有用,对吧?
编辑 :在此处添加一个指向讨论自定义 CSS 的主话题的链接,该话题描述了上述“默认”主题方法:Making custom CSS changes on your site
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 13:53
2
Bastiaan Quast:
难道不应该将此作为常规设置吗?
组件连接到每个主题都是一种常规设置。如果您有另一个选项卡、部分或“官方”组件来处理此问题,会有什么不同?
1 个赞
bquast
(Bastiaan Quast)
2023 年2 月 26 日 13:59
3
嗯,组件意味着您需要编辑该组件,然后在 Discourse 实例中更新该组件。
需要明确的是,主题和组件的工作流程绝对很棒。我只是认为直接/临时编辑一些小的 CSS 可能很有用。
1 个赞
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 14:03
4
呃……不,你不需要。更改在保存后会立即生效。
首先,你谈论的是通用设置,现在你直接编辑的是单个主题。嗯,如果你只为一个主题做更改,那么如果每个主题都有一个选项会很好。但是,当 CSS 更改在一个组件中时,当(而不是如果……)由于错误、冲突、升级等原因导致出现问题时,你可以轻松快速地禁用它。
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 13:58
5
也许可以试用一下,如果你不介意你的用户也能看到这些尝试。但如果你想保留这个更改,并且除了默认主题之外还有其他主题可供选择呢?那么你又得重新来一遍了
1 个赞
bquast
(Bastiaan Quast)
2023 年2 月 26 日 14:02
6
确实,这正是我在考虑是否有一个通用的自定义 CSS 选项,可以跨主题工作的原因。
bquast
(Bastiaan Quast)
2023 年2 月 26 日 14:11
8
Jakke Lehtonen:
嗯……你没有。更改在保存后立即生效。
我是新人,所以肯定有什么我没弄明白。
如果我写自己的组件,我会把它放在 GitHub 上。然后,如果我需要做任何更改,我会在 GitHub 上进行更改,然后让 Discourse 更新该组件。
这不才是正确(或最简单)的方法吗?
2 个赞
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 14:19
9
Bastiaan Quast:
如果我写自己的组件
你为什么要这样做?除非你打算分享它。但没关系——然后你点击你的组件的更新按钮。
我现在有点迷茫。你如何将你的 CSS 更改更轻松地放入某个全局 CSS 文件(那也将是一个组件)?如果你想更改 Air 主题,你认为你会如何交付这些更改?
1 个赞
Jakke Lehtonen:
你为什么要这样做?
无论你是否共享组件,将其托管在 GitHub 上通常是个好主意,这样你就可以管理它的演变,并且它还能提供一个很好的备份。
2 个赞
bquast
(Bastiaan Quast)
2023 年2 月 26 日 15:04
11
Jakke Lehtonen:
你为什么要这么做?
也许我举个具体的例子会更容易。
我想隐藏时间线(只是做个实验),在 @merefield 的帮助下,我使用 CSS 做到了:
.topic-navigation {
display: none
}
为了这个实验,我想全局应用它。这是一个实验,所以我不必以最结构化/可复制/技术上正确的方式来做。
组件不是很多麻烦。但更省事的,是默认主题中的 Edit CSS 设置。我试了一下,效果完美。
然而,我想看看我的社区成员怎么想,但我使用的是 zeronoise 主题,它没有 Edit CSS 设置。
我现在的问题是,如果 Discourse 像设置 Default 主题那样,提供一种稍微调整 CSS 的方法,会不会很有用?
需要说明的是,我明白 Edit CSS 有一个特定于主题的用例,所以它将是 Default 中的 Edit CSS 的补充,而不是替代。
希望这能稍微解释一下我的意思。如果我有什么技术上的错误,请告诉我,我会相应地修改。
感谢大家分享你们的想法。
bquast
(Bastiaan Quast)
2023 年2 月 26 日 15:12
12
本着“自己动手,丰衣足食”的精神,我正在考虑将默认主题的 Edit CSS/HTML 代码打包成一个单独的主题组件或插件(当然会保留 GPL-2 许可)。
我想组件会是最简单的。
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 15:54
13
Now I’m totally lost.
You have to use a separate selfmade component for that. And that component is your global settings in the meaning you will enable it in every themes that uses it.
Jagster
(Jakke Lehtonen)
2023 年2 月 26 日 15:55
14
Robert:
你可以管理它的演变,并且也提供了很好的备份
只需进行基本的 CSS 更改?这是否有点大材小用?
Canapin
(Coin-coin le Canapin)
2023 年2 月 26 日 16:34
17
嘿 Bastiaan
你无法直接编辑“外部”主题/组件的 HTML 和 CSS,因为在主题/组件更新时,更改将被覆盖。大约两三年前还可以,但此功能已被移除。
你可以直接在 Discourse 的界面中创建一个新的本地组件,通过(组件的 CSS 选项卡)覆盖现有主题的 CSS,或者创建一个作为 GitHub 项目的新组件,每次修改存储库时通过组件页面(“更新”按钮)进行更新。
我是否正确理解了你的意图,并且这个回复是否解答了你的问题?
2 个赞
bquast
(Bastiaan Quast)
2023 年2 月 26 日 16:48
18
您好 @Canapin ,太棒了!谢谢您 这正是我想要的。
这可能也解释了与 @Jagster 的沟通不畅,我试图做的事情有一种直接的方法,但我不知道可以直接从界面创建组件(允许自定义 CSS)。
也许可以把这个添加到 @Johani 关于主题和/或 CSS 的精彩指南中。
3 个赞