如果我想编辑 CSS,我必须创建一个组件,创建一个 CSS 文件,然后它就能正常工作。现在,如果我添加另一个组件,例如“Discourse Topic Cards”,然后返回自定义 CSS 文件,应用更改,单击保存,然后刷新页面,自定义 CSS 就不会生效。
另外,为什么在管理员区域没有编辑模板的方法?如果我想编辑“Discourse Topic Cards”模板,我必须 SSH 进入 discourse docker 并进行编辑才能进行更改?
如果我想编辑 CSS,我必须创建一个组件,创建一个 CSS 文件,然后它就能正常工作。现在,如果我添加另一个组件,例如“Discourse Topic Cards”,然后返回自定义 CSS 文件,应用更改,单击保存,然后刷新页面,自定义 CSS 就不会生效。
另外,为什么在管理员区域没有编辑模板的方法?如果我想编辑“Discourse Topic Cards”模板,我必须 SSH 进入 discourse docker 并进行编辑才能进行更改?
您对 WordPress 更熟悉吗?如果熟悉,您会更容易理解这一点:您永远不要直接编辑核心、插件或主题,因为下次更新时您将丢失所有修改。
因此,许多这些困难实际上并非来自 Discourse,而是来自世界的运作方式 ![]()
您可能需要将 !important 添加到 CSS 中,以便这些规则优先于其他地方定义的规则。当多个组件按特定顺序加载时,就会出现这种情况。这是一个常见问题,不一定特定于 Discourse。我不知道我们是否可以有一个权重系统来指示“该组件应最后加载”,但这听起来确实难以管理。
这就是为什么主题和主题组件不使用 CSS 中的 !important 很重要,除非绝对必要。
如果您想编辑远程主题组件,请随时在 GitHub 上分叉它并创建您自己的版本。这是最简单的方法!但是,您将不会收到原始版本的任何更新。您无法编辑远程组件,因为您的自定义可能会与更新发生冲突(并且处理起来很麻烦)。
自定义 Discourse 非常容易。但这取决于您期望的自定义程度。您在这里想实现什么?也许我们可以提供帮助。如果某个领域欢迎自定义功能,Discourse 团队通常会持开放态度。
我经营网站已经很多年了,我认为如果你能创造出更独特的东西,往往会做得更好。我想自定义“Discourse Cards Topic”模板,并在通用主题列表中包含海报、回复、浏览量和活跃度统计数据。
您可以:
有供编码人员阅读的文档吗?
如果您想在 Discourse Topic Cards 主题组件之上进行更改,可以这样做:
您不必 SSH 进入服务器或更改源代码中的任何内容,也不必分叉存储库。
例如,这是我为 Minima 主题对 Discourse Topic Cards 进行一些更改所做的工作:
这样,您仍然可以从主题中获取新更新,并且所有主题组件都经过组织和分离(因此您可以轻松禁用/启用以进行调试)
但是的,我认为这个过程可以为管理员解释得更好一些。