如果不了解具体细节,很难说某种自定义有多“安全”……但一般来说,自定义得越多,需要进行的维护工作就越多。
如果您在插件出口处添加类似自定义组件的内容,或者完全替换 Discourse 组件……通常这些应该能继续正常工作,因为您是将自定义代码插入到扩展点中(我们尽量保留这些扩展点,因为很多人都在使用它们)。
在 CSS 中,您应尽可能利用现有的 --variables(CSS 变量)来更改样式,因为有时我们需要更改内容结构,但即使这样做,我们仍可以重用相同的变量。
因此,这是一种更安全的方法:
.d-header {
--title-color--header: red;
}
这种方法的安全性较低:
.d-header {
.extra-info-wrapper .topic-link {
color: red;
}
}
我们一直推动平台远离那些更容易出错的旧自定义方法,例如模板覆盖和 modifyClass 的使用。我们还在致力于开发更稳定的 API……但所有东西仍然需要不时进行一些维护。