トピックリストには特定の CSS クラスは存在しません。
トピックリストのテンプレートを編集することで対応可能でしょうか?
トピックリストアイテムコンポーネントにクラスを追加するだけなら、テンプレートを変更する必要はありません。以下のような方法が使えます。
const discourseComputed = require("discourse-common/utils/decorators").default;
api.modifyClass("component:topic-list-item", {
pluginId: "add-views-class",
@discourseComputed()
unboundClassNames() {
// 利用可能なトピックのプロパティを確認するためにログ出力
console.log(this.topic);
// コアおよびプラグインからのデフォルトクラスを継承
let classList = this._super(...arguments);
// プロパティに基づいて新しいクラスを追加
if (this.topic.views > 100) {
classList += " has-many-views";
}
// 修正された classList を返す
return classList;
}
});
次に、少しの CSS です。
.has-many-views {
background: red;
}
残念ながら、wiki はトピックレベルではなく投稿レベルのプロパティです。そのため、トピックリストアイテムモデルには追加されません。タグを使用するか、Discourse にそのクラスを追加するよう機能リクエストを作成してください。