このプロジェクトはNext.js 15とReact 19をベースにした個人ポートフォリオサイトです。ブログ記事、メモ、読書メモ、Zenn記事などのコンテンツを管理・表示するための機能を備えています。
- Next.js 15.1.3
- React 19.0.0
- TypeScript
- Tailwind CSS
- Mantine UI
- Newt (ヘッドレスCMS)
- Storybook
- Vitest
- ブログ記事、メモ、読書メモの表示・管理
- Zenn記事の連携表示
- ダークモード対応
- レスポンシブデザイン
- Google Analytics連携
- OGP画像生成
- 記事のシェア機能
プロジェクトは以下のコンテンツタイプで構成されています:
- ブログ記事 (
/blog
):技術的な記事やその他のブログ記事 - Zenn記事 (
/zenn
):Zennプラットフォームからの記事
開発サーバーを起動するには:
# パッケージのインストール
yarn
# 開発サーバーの起動
yarn dev
http://localhost:3000 をブラウザで開くとサイトを確認できます。
# 開発サーバーの起動
yarn dev
# プロダクションビルド
yarn build
# プロダクションサーバーの起動
yarn start
# リンターの実行
yarn lint
# テストの実行
yarn test
# Storybookの起動
yarn storybook
# Storybookのビルド
yarn build-storybook
プロジェクトは以下のような構成になっています:
src/app/
: Next.jsのApp Routerによるルート定義src/components/
: 再利用可能なReactコンポーネントsrc/lib/
: Newt CMSなどの外部サービスとの連携コードsrc/utils/
: ユーティリティ関数src/types/
: TypeScript型定義src/hooks/
: カスタムReactフックsrc/styles/
: グローバルスタイル定義
このプロジェクトでは next/font
を使用して Geist フォントを最適化して読み込んでいます。
Vitestを使用してユーティリティ関数のユニットテストを実装しています。テストは yarn test
コマンドで実行できます。