terada_life

2026-03-16 作業ログ

00:00 - 週次レビュー生成

  • 内容: 2026-03-09〜2026-03-15の週次レビューを生成・保存
  • 対象ファイル: Weekly/2026/03/weekly-review-2026-03-09.md

00:00 - 日次ジャーナル作成

  • 内容: 2026-03-16の日次ジャーナルを作成。3/13の調べたいこと3件を転記
  • 対象ファイル: Daily/2026/03/2026-03-16.md

11:30 - Web閲覧化(Next.js SSG + Cloudflare Pages)

  • 内容: ライフログをWebブラウザで閲覧可能にするため、Next.js(App Router、SSG)でWebアプリを構築。MkDocsアプローチから変更。web/ディレクトリにNext.jsアプリを作成し、既存マークダウンファイルをビルド時に読み込んで静的HTML生成。Tailwind CSS + @tailwindcss/typography + react-markdown + remark-gfm でマークダウンレンダリング(タスクリスト対応)。レスポンシブサイドバー付きレイアウト、ダーク/ライトモード対応(システム設定連動)。33ページのSSGビルド成功確認済み。
  • 対象ファイル: .gitignore, .github/workflows/deploy-docs.yml, web/(Next.jsアプリ一式)

11:45 - pnpm移行 & README作成

  • 内容: パッケージマネージャをnpmからpnpmに変更。GitHub Actionsワークフローもpnpm対応に更新。web/README.mdを作成(技術スタック、ローカル開発手順、デプロイ設定)。
  • 対象ファイル: .github/workflows/deploy-docs.yml, .gitignore, web/README.md, web/pnpm-lock.yaml

12:00 - 検索機能 & ダークモード切り替えのビルド確認

  • 内容: Fuse.jsベースの検索ダイアログ(⌘K対応)、ダーク/ライトモード切り替えボタン、ビルド時検索インデックス生成スクリプトが前回の会話で作成済み。pnpm buildを実行し、ビルド成功を確認。search-index.json(22エントリ)生成、out/に33ページの静的HTML出力を確認。
  • 対象ファイル: web/src/components/SearchDialog.tsx, web/src/components/ThemeToggle.tsx, web/scripts/generate-search-index.mjs, web/public/search-index.json

12:15 - ThemeToggleのSSRレンダリング修正

  • 内容: ThemeToggleコンポーネントがSSR時にreturn nullしていたため、静的HTMLにボタンが出力されず表示されない問題を修正。常にボタンを描画し、マウント前はプレースホルダーアイコンを表示、ハイドレーション後にテーマに応じたアイコンに切り替わるように変更。
  • 対象ファイル: web/src/components/ThemeToggle.tsx

12:30 - Next.js v16アップグレード & Webpackランタイムエラー修正

  • 内容: Next.js 15.5.12→16.1.6(Turbopack)にアップグレード。fuse.jsの同期インポートがWebpackチャンク分割で"Cannot read properties of undefined (reading 'call')"エラーを引き起こしていたため、動的インポート(import("fuse.js"))に変更。ビルド成功・32ページ静的HTML出力確認。
  • 対象ファイル: web/package.json, web/src/components/SearchDialog.tsx

18:00 - Knowledge記事の404エラー修正

  • 内容: Next.js静的エクスポート時に日本語slugがURLエンコードされてファイルが見つからない問題を修正。next.config.ts、page.tsx、content.tsの3ファイルでdecodeURIComponentを追加
  • 対象ファイル: web/next.config.ts, web/src/app/[category]/[...slug]/page.tsx, web/src/lib/content.ts

17:00 - OGPカード表示機能の追加

  • 内容: 記事内の外部リンクにOGPカード表示機能を実装。ビルド時にOGPデータを取得し、単独リンクをリッチカードとして表示する。
  • 対象ファイル: web/src/lib/ogp.ts, web/src/components/LinkCard.tsx, web/src/components/MarkdownContent.tsx, web/src/app/[category]/[...slug]/page.tsx

19:00 - OGPカードのSP画像表示修正

  • 内容: スマートフォン表示時にOGPカードの画像が非表示になっていた問題を修正。SP時はカード上部に画像を表示する縦並びレイアウト、PC時は従来通り右側に画像を表示する横並びレイアウトに変更。
  • 対象ファイル: web/src/components/LinkCard.tsx