Claude CodeでChirpyカスタムCSS適用問題を解決した
カスタムデザインが反映されない問題をClaude Codeで診断・修正。Chirpy v7.3での正しいCSS override方法を記録。
Claude CodeでChirpyカスタムCSS適用問題を解決した
問題発生
先日実装したChirpyテーマのカスタマイズ(フォント変更・配色・ヒーロー追加)が、ローカルでは正常に表示されるのに本番サイト(GitHub Pages)では全く反映されないという問題が発生。
見た目が全くデフォルトのままで、せっかくの作業が水の泡に。
Claude Codeによる診断
Claude Codeに状況を説明すると、即座に問題の核心を特定してくれました:
原因の特定
assets/css/jekyll-theme-chirpy.scssの構造問題- テーマのベースimport部分が欠如していたため、Chirpyの基本スタイルが全く読み込まれていない
- カスタムCSSだけが適用された結果、スタイルが破綻
診断プロセス
- ファイル構造確認: ビルドログとファイル内容をチェック
- 生成されたCSSの検証: カスタム要素が含まれているか確認
- テーマ構造との比較: Chirpy v7.3の正しいSCSS構造を確認
解決策の実装
Claude Codeが提示した修正方法:
修正前:
1
2
3
4
5
6
7
8
9
/* ==== custom overrides (2025-09) ==== */
/* Web Fonts */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
--global-theme-color: #0ea5a3;
/* ... カスタム変数 ... */
}
/* ... カスタムスタイル ... */
修正後:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
---
/* prettier-ignore */
@use 'main.bundle';
/* append your custom style below */
/* ==== custom overrides (2025-09) ==== */
/* Web Fonts */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
--global-theme-color: #0ea5a3;
/* ... カスタム変数 ... */
}
/* ... カスタムスタイル ... */
重要なポイント
- Frontmatter (
------) の追加 - テーマベースの読み込み (
@use 'main') を最初に配置 - カスタムCSSは指定位置以降に記述
結果
修正後:
bundle exec jekyll buildで正常コンパイル確認- 生成されたCSSにカスタム要素が正しく含まれることを検証
- GitHub Actionsで自動デプロイ
- 数分後に本番サイトでカスタムデザインが正常表示
Claude Codeの優秀さ
今回特に感動したのは:
- 即座の問題特定: 長々と説明する前に核心を突いてくれた
- 具体的な解決策: 抽象的なアドバイスではなく、実際のコードまで提示
- 検証プロセス: 修正後の動作確認まで一緒に実行
- ドキュメント化: todo.mdへの記録まで提案してくれた
人間だったら「CSSの優先度かな?」「キャッシュの問題?」と様々な推測をするところを、ログとファイル内容から直接原因を特定してくれるのは、AIならではの強みだと感じました。
学び
Chirpy v7.3でのカスタマイズ注意点
- テーマファイルを完全に上書きするのではなく、テーマベースを維持してoverride
- Frontmatterと
@use構文は必須 /* append your custom style below */コメント以降に記述
今後の開発体験
Claude Codeのような技術的な問題解決能力があれば、一人での開発でも安心感があります。特にフロントエンド系の「なぜか動かない」問題は、人間には時間がかかるケースが多いので。
この記事はClaude Codeとの協働で作成・投稿しています。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。