バナー付きカテゴリ一覧

This component adds optional banners to the default category page styles Categories Only and Categories With Featured Topics:

You can add banners in the component settings by defining the category right below the banner, a banner color and the heading text. There’s also an option to hide the default colored borders:

Screenshot from 2021-08-21 15-41-36

To add styles you can select the general class, as well as specific banners by category-id:

.category list .category-list-banner {
  &.category-5 { [style a specific banner] }
  &:after { [style the headings]}
}

For example you could color-code your categories:

Or add background images:

:warning: This component only adds layout elements to the category page. So you can’t refer to these headings anywhere else on your site. Another caution: There’s no default page style Categories Only on mobile. It will always show featured topics as well.

:+1: Credits: The component was inspired by the look of the Cfx.re Community and by @godgutten’s original solution to achieve that look as shared in How do I add category banners?

「いいね!」 27

Thank Nolo Very cool! Your component has improved our community

「いいね!」 1

Nolo, I found another problem with switching the forum style to night mode. If you can fix it, it will be perfect!

That looks like expected behavior… The color slot takes any value that you can use as background-color in CSS. So when you give a hex value, it will stay the same color in different modes and themes.

If you actually don’t want a background color, you should state none or transparent.

If you want a background color that changes with modes, you’d need to state it with a CSS custom property: you could use one of Discourse’s pre-defined ones like var(--secondary-high). Or define some yourself, as explained in

「いいね!」 3

Nolo, thanks, that helped!

「いいね!」 2

こんにちは。あなたが作り上げたものを見るのが大好きです。しかし、私の作品を盗むだけでなく、私にも功績を認めることは許されていますか…

コンポーネントを気に入っていただけて嬉しいです!ただ、あなたの作品を盗用したと非難する理由がよくわからないのですが…?

このコンポーネントの作成は、こちらのトピックに触発されました。

OP(元の投稿者)にあなたのソリューションを紹介しましたが、その後、テンプレートをハードコーディングせずに、SCSS内の設定リストから値を取り出して解決する方法に興味を持ちました。そのため、コンポーネントコードは基本的にこのソリューションに関するものです。
https://meta.discourse.org/t/how-to-add-settings-to-your-discourse-theme/82557/52?u=nolo

いずれにしても、もし私の作品の一部を使用したと感じており、クレジットを記載し忘れている場合は、お知らせください。最初の投稿を更新します :ok_hand:

「いいね!」 1

はい、ぜひ何らかのクレジットをいただけると嬉しいです。しかし、それはあなた次第です。それ以外はうまくいっており、新しいユーザーにとってより簡単になるため、このテーマコンポーネントを投稿で推奨するつもりです。

「いいね!」 2

@ Nolo
TCで、またはテーマのCSSで、見出しテキストを左揃えにする方法はありますか(あなたの2番目の例のように)。

また、バナー画像を使用しない場合、ヘッダーをテキスト1行分の厚さにリサイズする方法はありますか。
もしあれば、テキストをそれほど大きくないサイズにリサイズすることはできますか。

「いいね!」 2

はい、承知いたしました。これらのクラスを使用してバナーをスタイル設定できます。

一般的なクラスの既存の宣言を上書きしたい場合は、!important プロパティを使用する必要があります。たとえば、言及されたスタイルについては次のようになります。

.category-list .category-list-banner {
    justify-content: flex-start !important;
    min-height: unset !important;
    &:after {
        font-size: var(--font-up-3) !important;
    }
}

これは、スタイルが実際には特定のバナーで宣言されているためです。コンポーネントで改善できるかもしれませんが、現時点では important を使用して上書きする必要があります。

「いいね!」 3

このコンポーネントをありがとうございます!! 政治フォーラムを開発しており、このような分離を適用できることは非常に重要です。
すでにフォーラムにとって大きな改善ですが、ヘッダーがURLで参照できるようになれば、世界が変わるでしょう。なぜなら、それによりフォーラムのトップにボタンを作成でき、ユーザーは同じページ内で簡単に移動できるようになるからです。フォーラムが(うまくいけば)非常に大きくなった場合、これは非常に機敏な機能となるでしょう。現在可能ですか?

「いいね!」 1

@lisandro_iaffar さん、提案ありがとうございます。このコンポーネントは、HTMLテンプレートを変更しない軽量なソリューションを提供するだけです。セクションを参照したい場合は、GitHub - discourse/discourse-minimal-category-boxes で提供されているようなアプローチを使用する必要があります。

「いいね!」 2

お返事ありがとうございます。また、ご指導いただきありがとうございます :slight_smile:
そして、このコンポーネントにもう一度感謝します。フォーラムのレイアウトがとても良くなりました :smiley:

「いいね!」 2

カテゴリをいくつか作りすぎたので、グループに整理できるのは大変助かります。

試してみればわかりますが、これは古い、あまり使われていないカテゴリをフロントページから外す方法にもなり得ますよね?新しいサイドバーからアクセスできるようになります。

「いいね!」 1

はい、もちろんです :+1: 実際、私はほとんどの場合、サイドバー、ヘッダー、ナビバー、カテゴリページなどのさまざまなページ要素でカテゴリを選択します。それはウェブサイトのサイト構造のようなものです。よく整理されていることは重要ですが、UIの表示方法を決定する必要はありません。

こんにちは、@manuelさん。この素晴らしいコンポーネントがスピーチのアップデート後も引き続き機能するかどうか知りたいです。インストールしましたが、動作しません。よろしくお願いします。

背景画像を追加するにはどうすればよいですか?

こんにちは、ようこそ :wave:

テーマまたは個別のテーマコンポーネントにCSSを追加できます。

たとえば、カテゴリID 4に画像を追加したいと仮定すると、次のようなことを行います。

.category-list .category-list-banner {
    &.category-4 {
        background-image: url(https://images.unsplash.com/32/Mc8kW4x9Q3aRR3RkP5Im_IMG_4417.jpg);
        background-size: cover;
    }
}

これは単なる例です。詳細については、background CSSプロパティを参照してください。

役立つリンクも :+1: :

「いいね!」 2

投稿が新しいトピックに分割されました:Add extra info to category box