我们的主题列表标记自 Discourse 项目开始以来基本没有变化。为了利用最新的 Web 技术,我们计划进行一些更改,以改进主题列表的主题化潜力。
为使过渡尽可能顺利,我们将分步进行这些更改,并希望在 2022 年第一季度完成迁移。
步骤 1:更新 CSS 选择器
我们最近添加了 .topic-list-header、.topic-list-body 和 .topic-list-data 类来开始过渡。
thead现在具有topic-list-header类tbody现在具有……你猜对了!topic-list-body类td元素现在也附加了topic-list-data类
对于绝大多数站点来说,此更改将完全无缝。但是,覆盖我们核心模板的复杂主题/插件需要进行一些更新。
更新现有的模板覆盖
如果可能,我们建议您删除模板覆盖,并使用 CSS 和插件插槽的组合进行自定义。如果删除覆盖不是一个选项,那么您将需要手动更新您的覆盖以包含新类。
已添加类的模板是:
/templates/components/topic-list.hbs/templates/list/category-column.hbr/app/templates/list/posters-column.hbr/app/templates/list/posts-count-column.hbr/app/templates/list/topic-list-item.hbr/app/templates/topic-list-header-column.hbr/app/templates/topic-list-header.hbr
步骤 2:更改元素类型
此过程的下一步是将现有的 table 元素转换为更合适的元素。
准备定位 table 元素的自定义样式表
现在,您应该从自定义样式表中删除对 table、thead、tbody、tr、td 的任何引用,并用新类替换它们。然后,当我们最终更改元素类型时,您的自定义主题将继续正常工作。
我们很期待看到在这些更改之后,我们的主题和插件开发人员社区将能够构建出什么!![]()