テーマの再構築に関する2回目のアップデートを刚刚リリースしました。最初のアップデートは、以前の Meta Branded テーマを基にしたビジュアルのリフレッシュでしたが、今回のバージョンは実質的にゼロから再構築された新しいテーマです。新しいブランド言語は以前のリリースで既に導入されているため、その方面での目に見える変化はあまりありません。今回のアップデートで大きく変わったのは、テーマの実装そのものであり、Discourseのカスタマイズがより広範にどのように進んでいくかを示すものです。
いくつかの実装詳細を、小さな項目から順にご紹介します。
Lucide アイコン
Lucide はモダンなストロークアイコンのオープンソースセットであり、私たちは複数のカスタマイズプロジェクトでこれを採用しています。今回のイテレーションでは、Meta Branded テーマにも含めました。Discourse コア内の Font Awesome を置き換える計画はありませんが、Font Awesome の無料版ではストロークスタイルのアイコンの選択肢が限られており、一貫したストロークアイコンシステムを形成するには不十分です。テーマコンポーネントは Discourse Lucide Icons で利用可能です。
色パレットを制限するテーマ修飾子
管理者およびユーザーのインターフェース設定において、特定のテーマで利用可能な色パレットを制限する新しい only_theme_color_schemes テーマ修飾子を追加しました。Meta には複数のユーザー選択可能なパレットがあり、これらは Meta Branded テーマのビジュアルアイデンティティと衝突する可能性があります。この修飾子により、テーマにバンドルされたパレットのみがオプションとして提供されます。
PR: FEATURE: add modifier to restrict theme color schemes
全幅レイアウト
メインコンテンツをページ上でより適切に中央揃えにするため、Discourse Full-width コンポーネント の調整も試みています。ヘッダーには多くの動的要素があり、設定が複雑化しているため、現時点では実験的であり、コンポーネントのブランチでのみ利用可能です。
ウェルカムバナーの表示を制御する値変換子
新しい welcome-banner-display-for-route 値変換子を使用して、コアのウェルカムバナーがどのルートで表示されるかをプログラム的に制御しています。これにより、バナーがデフォルトのカスタムホームページでのみ表示され、ユーザーが個人のランディングページとして設定したページでは表示されないようにしています。
PR: DEV: Add welcome-banner-display-for-route value transformer
これで、2 つの大きな変更について説明します。
テーマ修飾子によるカスタムホームページ
custom_homepage テーマ修飾子はほぼ 2 年間利用可能でしたが、Meta 自体のホームページ体験を形作るために使用するのは今回が初めてです。注目のコンポーネントで構成されたカスタムランディングページを導入します。最初のリリースでは、注目のカテゴリのハイライトと最新のトピックのプレビューが含まれます。
これらの注目コンポーネントは、新しい実験的な Blocks API を使用して構築しました。これが最大の变化につながります。
Blocks API: 初の本番環境での利用
Blocks API は、Discourse でモジュール化され、組み合わせ可能なレイアウトを構築するための新しいフレームワークです。テーマ開発者は、定義されたレイアウト領域に配置できる自己完結型で再利用可能なコンポーネントからページを組み立てることができます。Meta テーマは、この API の初の本番環境でのデプロイです。
このフレームワークには豊富な開発者ツールが備わっています。開発者ツールを有効にすると、すべてのアクティブなレイアウト領域とそのコンポーネントを可視化するビルトインのオーバーレイを使用して、任意のページのブロック構造を検査できます。
ホームページ以外にも、各カテゴリのサブカテゴリを表示するカスタムカテゴリバナーのレンダリングにもブロックを使用しています。
これは本番環境でのシステムの実装に関する初期プレビューです。近日中にドキュメントとさらに多くの例を公開する予定です。
PR: DEV: Add Block API for declarative, validated UI extension points

















