Discourse プロジェクトが開始されて以来、トピックリストのマークアップはほとんど変更されていません。最新の Web テクノロジーを活用するために、トピックリストのテーマ設定の可能性を向上させる変更を計画しています。
移行を可能な限りスムーズにするために、これらの変更は段階的に行われ、移行は 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 への参照をすべて削除し、新しいクラスに置き換える必要があります。その後、要素タイプを変更したときに、カスタムテーマ設定が問題なく機能し続けるはずです。
この変更により、テーマおよびプラグイン開発者のコミュニティがどのようなものを構築できるかを見るのが楽しみです! ![]()