MimiCatLab
← ホームに戻る

MimiCatLab の作り方 — Next.js + microCMS で技術ブログを構築した

このサイトをどのような技術スタックで作ったか、構成や工夫した点をまとめます。

はじめに

MimiCatLab は「つまづいたことや学んだことを記録する」をテーマにした技術ブログです。この記事では、サイト自体をどのように作ったかを紹介します。

技術スタック

  • Next.js 16(App Router)— ページルーティング・静的生成
  • TypeScript — 型安全な開発
  • Tailwind CSS v4 — スタイリング
  • microCMS — ヘッドレス CMS(記事の管理・配信)
  • Firebase — Dev Log ページのパスワード認証

静的サイトとして配信

Next.js の output: "export" を使い、ビルド時にすべてのページを静的な HTML として出力しています。これにより、サーバーレスの環境にそのまま配置できます。

静的エクスポートには制約もあり、たとえばページネーションの実装では generateStaticParams が空配列を返せないという制限に対応する必要がありました。

microCMS でコンテンツ管理

記事は microCMS で管理しています。microcms-js-sdk を使ってビルド時に記事データを取得し、静的ページとして生成します。

const data = await client.get({
  endpoint: "posts",
  queries: {
    limit: 10,
    offset: 0,
    orders: "-publishedAt",
  },
});

主な機能

  • ダークモード — OS 設定に追従
  • 記事検索 — クライアントサイドで全文検索
  • タグ・アーカイブ — タグ別・年月別の記事一覧
  • ページネーション — 10 件ごとに /p/2/p/3... でページ分割
  • Dev Log — Firebase 認証でパスワード保護した開発メモ

おわりに

シンプルな構成でありながら、静的エクスポートの制約と向き合いながら必要な機能を実装していきました。このブログ自体が一つの学習記録になっています。