Разметка списков тем оставалась практически неизменной с момента начала проекта Discourse. Чтобы использовать возможности новейших веб-технологий, мы планируем внести изменения, которые расширят потенциал кастомизации тем для списков тем.
Чтобы сделать переход максимально плавным, мы будем вносить эти изменения поэтапно и надеемся завершить миграцию в первом квартале 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 из ваших пользовательских таблиц стилей и заменить их новыми классами. Тогда, когда мы в конечном итоге изменим типы элементов, ваша кастомизация тем продолжит работать без сбоев.
Мы с нетерпением ждем, что смогут создать наши разработчики тем и плагинов после этих изменений! ![]()