Wide Layout Support Restored

shoelace-style/webawesome

この PR は、#2482 で除去された wide レイアウト 機能を元に戻し、page-wide クラスと対応する CSS、そして wide: true フロントマターを再導入します。これにより、インデックスページや Visual Tests ページで広いコンテンツ領域が利用できるようになります。

背景

page-wide レイアウトは、ドキュメントのインデックスやコンポーネントのビジュアルテストで広い表示領域が必要なケースで利用されてきました。base.njkpage-wide クラスを付与することで、CSS 側で幅を拡張できる設計です。#2482 の変更でこの仕組みが削除された結果、レイアウトが狭くなり、デザインの一貫性が失われました。

wide レイアウトが失われる影響は、カードリストや長文テキストが狭い列に収まり、読みやすさが低下する点です。特に Visual Tests ページは各コンポーネントの比較表示が中心で、余白が不足すると判定が困難になります。したがって、広い領域の再導入は UI の可視性とアクセシビリティ向上に直結します。

結論として、元の wide レイアウト機構を復活させることは、既存のドキュメントデザインとユーザー体験を保つために必須でした。

技術的な変更

base.njk に条件付きクラスを再追加 しました。class 属性に {{ ' page-wide' if wide }} を埋め込むことで、フロントマターに wide が true の場合に page-wide が付与されます。これによりテンプレート側で簡潔にスイッチングできます。

@@ -69,7 +69,7 @@
   </script>
 </head>
 <body
-  class="layout-{{ layout | stripExtension }} page-{{ pageType }}">
+  class="layout-{{ layout | stripExtension }} page-{{ pageType }}{{ ' page-wide' if wide }}">

docs.css に幅拡張ルールを復元 しました。.page-wide セレクタで wa-page > mainmax-inline-sizevar(--content-width-l) に設定し、.max-line-length も同様に拡張しています。また、インデックスページの :has(.modern-card-list) に対する幅拡張も追加しました。

@@ -82,8 +82,14 @@ wa-page > main {
   margin-inline: auto;
 }

+/* increase max-inline-size for index pages */
+wa-page > main:has(.modern-card-list) {
+  max-inline-size: var(--content-width-m);
+}
+
 /* The docs main column is wider than `wa-prose`'s default 65ch. Anchor the
-   reading-column custom property to the docs token to keep the established width. */
+   reading-column custom property to the docs token so existing layouts —
+   default, modern-card-list, and page-wide — keep their established widths. */
 #content {
   --wa-prose-line-length: var(--content-width-s);
@@
 .page-wide {
   wa-page > main {
     max-inline-size: var(--content-width-l);

     .max-line-length {
       max-inline-size: var(--line-length-l);
     }
   }
 }

visual-tests.md にフロントマターを追加 しました。wide: true を設定することで、このページが page-wide レイアウトでレンダリングされます。ビジュアルテストは幅広い領域が必要なため、この変更は直接的な効果を持ちます。

@@ -2,6 +2,7 @@
 title: Visual Tests
 description: A page to visually test component styles against native styles.
 layout: page
+wide: true
 ---

まとめると、テンプレート、CSS、マークダウンの三層で page-wide 機能が統合され、既存のページと新規ページの両方で広いレイアウトが利用可能になりました。

設計判断

元の実装を再利用する方針 が採用されました。page-wide クラスは既に他のレイアウト(defaultmodern-card-list)と同様の設計パターンで実装されており、再度ゼロから設計し直す必要がありませんでした。

幅のデフォルトは変更しない決定 も明示されています。Design Tokens インデックスはデフォルト幅のままにし、カードリストレイアウトは wide の影響を受けずに機能します。これにより、広いレイアウトが不要なページで余計なスタイル変更が走らないようにしています。

結論として、後方互換性と最小変更を重視した設計判断により、wide レイアウトの復活が安全かつ効率的に実装されました。

まとめ

本 PR は、Webawesome のドキュメントにおける wide レイアウト 機能を復活させ、テンプレート、CSS、フロントマターの三層で一貫した有効化手段を提供します。既存ページへの影響は最小限に抑えつつ、インデックスや Visual Tests で必要な広い表示領域を再び利用できるようになりました。

記事メタデータ

Generated by:
gpt-oss-120b for DiffDaily
LLM Trace:
a90803c6

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
gpt-oss-120b for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文・背景・技術的な変更・設計判断・まとめの5部構成が揃っており、総論→各論→結論の流れが明確です。

カスタムMarkdown構文 ⚠ WARNING

シンタックスハイライト・GitHubリンク記法の正確性

コードブロックは diff 表記で正しく記載されていますが、GitHub リンクのテキストが "PR #2493" となっており、推奨フォーマット [#2493](URL) から逸脱しています。ファイル名付きハイライトは使用していないため問題なし。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

技術的な説明が中心で、エンジニア向けの情報量・表現が適切です。初心者向けの過剰な解説はありません。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクションが総論・各論・結論の段落構成になっており、トピックセンテンスで始まり、1段落1トピック、文数も適切です。段落間は空行で区切られています。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事内の diff コードブロックは提供された Diff と完全に一致しており、ファイル名や変更箇所も正確です。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「page-wide」「frontmatter」「wide」などの用語は PR 内容と一致し、誤用はありません。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

技術的な変更内容とその効果が PR の説明と合致しており、因果関係も正しく記述されています。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事中の主張はすべて PR のタイトル、説明、Diff で裏付けられており、根拠のない推測は見られません。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR 番号 #2493、参照 PR #2482 などの数値・固有名詞は正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事タイトル "Wide Layout Support Restored" は PR の趣旨 (wide レイアウト機能の復元) と合致しています。語彙の差は意味上の不整合を生んでいません。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

外部のバージョン情報やリリース計画等、PR に記載のない情報は含まれていません。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

時間表現は使用しておらず、PR の記述と食い違う表現もありません。