公開されたページにカテゴリクラスを追加する

type="text/discourse-plugin" をスクリプトタグで使用できない場合、公開されているページの現在のカテゴリのスラッグを取得する方法はありますか?
目的は、スラッグを含む新しいクラスをページのHTMLタグに追加することです。

「いいね!」 2

こんにちは。

よく理解できていないかもしれませんが、カテゴリはボディで利用できるため、それをターゲットにすることができます。

例えば:

以下を使用して、すべてのラウンジカテゴリトピックをターゲットにできます。

.published-page.lounge {
  ...
}
「いいね!」 2

申し訳ありません、私の説明が不明瞭でした。目的をより良く説明すべきでした。

現在、ページの発行ではカテゴリの背景は使用されていません。

設定:

トピックビュー:

発行済みページビュー:

カテゴリの背景は color_definitions.scss で定義されています。

body.category-test-category {
    background-image: url(/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg)
}

発行済みページには category-test-category クラスがないため、背景画像が継承されません。

私のアイデアは、javascript を使用してカテゴリのスラッグを取得し、body タグに category-[category slug] クラスを追加することです。これにより、カテゴリ名に関係なく、カテゴリの背景が自動的に適用されます。例えば、以下のようなカスタム CSS を発行済みページごとに記述する必要がなくなります。

.published-page {
    &.test-category {
        background-image: url("/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg");
    }
}
「いいね!」 4

同意します。とても良いアイデアです :+1:

「いいね!」 2

なるほど… ええ、それは良いアイデアですが、残念ながらテーマコンポーネント(JavaScript)で公開されたページを変更することはできないと思います。おそらくプラグインか、コアに category- をカテゴリ名の前に追加することで可能になるでしょう。

今のところ、手動の方法でうまくいくと思います。関連するSCSSを持つテーマコンポーネントを作成し、公開ページカテゴリに設定を追加します。

おそらくこのようなものだと思います: GitHub - VaperinaDEV/published-page-category-background-image

しかし、もっと良い解決策があるかもしれません。確信はありませんが。:slightly_smiling_face:

「いいね!」 3

それは非常に巧妙な解決策ですが、デフォルトで(またはカスタマイズ可能で)コアにそのようなものがあるのは良いことだと私も思います。現在の意図は、publish.scss で見られるように、テーマの色を使用してデフォルトの背景を明示的に持つことです。

.published-page {
  background-color: var(--secondary);
  color: var(--primary);

カスタムカテゴリの背景画像の URL を CSS 変数に保存したらどうでしょうか。カスタム CSS で簡単にアクセスできるようになります。少なくとも、CSS で完全な画像 URL を使用する手間が省けます。


ここに機能リクエストを作成しました: Published pages could inherit categories' background image setting

「いいね!」 4