BodyのCSSクラスにCurrentThemeIdを追加

こんにちは
アクティブなテーマ ID を <html> または <body> の CSS クラスとして追加する方法をご存知の方はいませんか?
いくつかのスタイルを作成する必要があり、テーマによって異なる属性が必要です。

例えば、「dark-theme」を使用する場合:

<html class="desktop-view not-mobile-device text-size-normal dark-theme">

ID として名前ではなく、数字を使用しています。管理パネルでテーマをカスタマイズしている際の URL を確認することで、テーマの ID を確認できます。例えば https://forum.example.com/admin/customize/themes/140 のような URL です。

名前ではなく ID で対応できる場合、これは迅速な解決策です(テーマ/コンポーネントの head ファイルに追加):

<script type="text/discourse-plugin" version="0.8">
  var themeSelector = require('discourse/lib/theme-selector');
  document.querySelector("body").classList.add("theme-id-" + themeSelector.currentThemeId())
</script>

ID からテーマ名を取得することも可能ですが、少し手間がかかります。

「いいね!」 2

ありがとうございます、Kris、@awesomerobot
Discourse プラグインおよび関連するライブラリのメソッドに関するドキュメントはありますか?

これを見つけましたが、すべてのライブラリとメソッドが含まれているようには見えません:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.