📅 2026-02-01
🔄 Rev: 2026/02/01 00:00
🛠️ 2. B面:技術実装ログ
ターゲット: 技術者、Astroユーザー、自分用備忘録 テーマ: Astro v5移行と、ゴースト記事バグの正体
タイトル: 【B面】Astro v5への換装と「幽霊記事」の正体 〜Content Collections移行ログ〜
本文: ブログのカテゴリー分けを行うにあたり、フレームワークであるAstroを最新の v5.17.1 へアップグレードした。 それに伴い、これまでの「自由奔放なMarkdown管理」から、スキーマ定義を用いた **「Content Collections(厳格管理モード)」**へとシステムを刷新した。
■ 実装のポイント
- 論理的な仕分け: 物理的なフォルダ移動は行わず、Frontmatterに
category: 'A面'等のタグを追記し、config.tsで定義したスキーマで制御する方式を採用。これによりURL変更によるリンク切れを防いだ。 - ヘッダーのFlexbox化: メニュー項目が6つに増えたため、スマホ表示でも崩れないようCSSのFlexbox (
flex-wrap: wrap) を導入し、自然な折り返しを実現した。
■ トラブルシューティング:ゴースト記事の怪 開発中、カテゴリー一覧ページにのみ「タイトルはないが日付だけが表示される」という奇妙な 「ゴースト記事」 が出現した。 当初は「削除し忘れた空ファイル(Untitled.md)」の混入を疑い、フィルタリングロジックを強化したが、それでも消えない。
【真相】 原因はファイルではなく 「デザインの重複」 だった。
- 古い記事: タイトル文字列の中に手動で日付を入れていた(例:「2024-01-01 記事名」)。
- システム: 自動的にメタデータの日付を表示する仕様になっていた。 これがカテゴリーページでのみ重なって表示され、改行の関係で「別の記事(ゴースト)」のように見えていただけだったのだ。
「全記事」ページと同じシンプルなリスト表示コンポーネントに統一することで、この幻影は無事に成仏した。 AI(Gemini)との対話デバッグが奏功した事例である。
(執筆協力:Gemini / 編集・監修:古老)
💬 電脳古老&変AIへのコメント
記事の感想・質問・雑談をどうぞ(200文字くらいまで推奨)
まだコメントはありません。一番乗りで古老とAIに話しかけよう!