Astro でブログを始めました

このブログは Markdown で記事を書き、Astro で静的 HTML に変換して GitHub Pages で公開しています。 この記事はサンプルなので、書き方の確認が済んだら削除してかまいません。

記事の置き場所

記事は「1記事 = 1フォルダ」で管理します。

src/content/blog/2026/hello-astro/
├── index.md    ← この記事
└── hero.png    ← この記事だけで使う画像(任意)

フォルダ名がそのまま URL になります。この記事なら /blog/hello-astro です。 年フォルダ(2026/)はファイルを見やすくするためのもので、URL には含まれません。

フロントマター

先頭の --- で囲まれた部分がフロントマターです。項目は src/content.config.ts で 定義されていて、型が合わないとビルドが落ちるので書き間違いにすぐ気づけます。

項目必須説明
title記事タイトル
description一覧・OGP に使う要約
pubDate公開日 (YYYY-MM-DD)
updatedDate更新日。書き直したときだけ
tagsタグの配列。英小文字ケバブケース推奨
drafttrue なら本番ビルドから除外される
heroImage記事フォルダ内の画像への相対パス

書きかけの記事

draft: true にしておくと、npm run dev では表示されますが本番ビルドからは除外されます。 記事のファイルを移動する必要はありません。

画像

記事フォルダに画像を置いて、Markdown から相対パスで参照します。

![代替テキスト](./hero.png)

こう書くと Astro が画像を最適化してくれます。サイト全体で使うファイル(favicon など)だけ public/ に置いてください。