gypsy-dev のリポジトリです。Tailwind Nextjs Themeを利用して構築しています。
index/tsx
- __app.tsx: アプリ全体で適用されるレイアウトや、共通処理 最新のブログ記事一覧を表示する役割を持つ。
- ブログ記事一覧の表示:
- 最新の5件(
MAX_DISPLAY
)のブログ記事をトップページに表示。 - 記事タイトル、公開日、概要(
summary
)、タグ(tags
)を表示。 - 各記事の詳細ページ(
/blog/[slug]
)へのリンク付き。
- 最新の5件(
- 追加機能:
- 全記事一覧ページ(
/blog
)へのリンクを表示(記事数がMAX_DISPLAY
を超える場合)。
- 全記事一覧ページ(
- 役割:
- ブログ記事データを静的に取得して、コンポーネントに渡す。
- 流れ:
allBlogs
: 全てのブログデータを取得。sortedBlogPost
: ブログ記事を日付順に並び替え。allCoreContent
: 必要なデータだけを抽出(詳細な構造はユーティリティ関数で定義)。posts
: 並び替え・抽出済みのブログデータがここに格納される。
- 記事データの取得:
getStaticProps
内でブログ記事がallBlogs
から取得され、posts
に変換される。
- 記事データの表示:
posts
がHome
コンポーネントに渡され、最大5件表示。
- 個別記事ページへのリンク:
- 記事の
slug
を使い、/blog/[slug]
形式で詳細ページに移動可能。
- 記事の
- 追加要素の確認:
NewsletterForm
やAll Posts
リンクが動的に追加される。
- ブログ全体や個別ページのレイアウトを定義
-
- ブログの内容(タイトル、本文、画像など)が記述されている場所
- ボタンやカード、アイコンなどの再利用可能な部品
- メタデータや設定、ブログ記事のデータソースを格納している
- 静的ファイルが入ってる
- TailwindCSS