こんにちは。以前は、ロゴの後にテキストとしてフォーラム名をヘッダーに挿入していましたが、ブラウザの幅やヘッダーの内容の組み合わせに合わせて調整するのは大変でした。そのため、今は実際のロゴとフォーラム名を画像に含めたロゴ画像を使用しています。
しかし、v2026.7.0 にアップデートしてから、トピック内のある特定の幅で画像を適切に配置するのが難しくなりました。(ヘッダーに余白が多いホームページには問題ありません)。小さなロゴ の Discourse 設定には、「サイト左上に表示され、スクロール時に目にする小さなロゴ画像」と記載されています。しかし、実際の動作はそれよりも少し複雑です。ブラウザの幅が約 1015 ピクセル以上の場合、サイドバーを表示したトピック内で下にスクロールすると、メインロゴ が使用されます。このロゴは、トピックタイトルの左側に残る狭いスペースに収まるように縮小されるため、私の場合、文字が読み取れなくなってしまいます。その後、幅が約 1015 ピクセルより小さくなると、小さなロゴ に切り替わります。トピックビューで下にスクロールしたとき、常に 小さなロゴ、あるいは モバイル用ロゴ を使用する方法はありますか? この古いスレッドには類似したアイデアがいくつかありますが、私がやりたいこととは少し異なり、技術的な実装が現在も適用可能かどうかは不明です:
これはデフォルトの動作ではありません… なので、もしかしたらテーマの影響でしょうか?Horizonを使っていますか?あのテーマはロゴの動作を変更するはずです。
こんにちは、返信ありがとうございます。私は Sam's Simple Theme を何年も使っていますが、ロゴの動作を変更するものではないと思います。また、GitHub - discourse/discourse-full-width-component: Make Discourse occupy the full browser width · GitHub も使っています。いずれにせよ、いくつかのカスタム CSS ルールで不具合を回避していましたが、最新の Discourse ESR ではもう動作しなくなりました。この問題の根本原因は次の点にあると思います:
この動作がデフォルトであるかどうかを確認できますか?
あ、それが問題の原因だと思います。このテーマコンポーネントもデフォルトのロゴの動作を上書きしています。
いいえ、デフォルトではありません。ここではテーマコンポーネントなしの Foundation テーマで、幅1020ピクセルの小さなロゴを示します。
そして、ここでは full width コンポーネント付きの Foundation テーマです。
ああ、その通りですね…
// サイドバーが表示されている場合、HomeLogoを「最小化されていない」状態に強制します。
const transformerExists = api.registerValueTransformer?.(
"home-logo-minimized",
({ value, context }) => {
if (value && context.showSidebar) {
return false;
}
return value;
}
);
^ これも同様ですが、これは単なる自動テスト用ですよね?
コンポーネントを完全にフォークしなくても、「上書きを上書きする」比較的クリーンな方法はありますか?主に以下の理由で必要です:1) 私のユーザーの多くがワイドレイアウトを強く希望していると明確に表明しており、2) --d-max-widthと--topic-body-widthの値を単に増やすだけでなく、CSSルールで処理する必要がある主要なおよび次要なクイック(不具合・特性)が多数存在するためです。私は discourse-full-width-component/common/common.scss at main · discourse/discourse-full-width-component · GitHub からコピーして適応させた多数の純粋なCSSルールを含む独自のテーマコンポーネントを維持してきましたが、これは各主要なDiscourseリリースで壊れる傾向があり、Full Width Componentのようなより保守性が高く、メンテナンス負荷の低いソリューションを望んでいます。
最高です!!Krisさん、本当にありがとうございます。
このコミットはESRで利用可能になりますか?現在、私の全幅コンポーネントには テーマは d-compat/2026.7 と同期しています と表示されています。
ああ、もちろんです。これらの変更は新しい設定によって完全に制御されているので、そのバージョンへのバックポートは安全です。今すぐ利用可能になっているはずです。