Discourse 프로젝트가 시작된 이후로 주제 목록 마크업은 거의 변하지 않았습니다. 최신 웹 기술을 활용하기 위해, 주제 목록의 테마 설정 가능성을 향상시킬 몇 가지 변경 사항을 계획하고 있습니다.
전환 과정을 최대한 원활하게 만들기 위해, 이러한 변경 사항을 단계별로 진행할 것이며, 2022년 1분기에 마이그레이션이 완료되기를 기대하고 있습니다.
단계 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에 대한 모든 참조를 제거하고 새 클래스로 대체해야 합니다. 그러면 결국 요소 유형이 변경될 때 사용자 정의 테마 설정이 문제없이 계속 작동할 것입니다.
이러한 변경 사항 이후에 테마 및 플러그인 개발자 커뮤니티가 무엇을 만들어낼지 기대됩니다! ![]()