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 | タグの配列。英小文字ケバブケース推奨 | |
draft | true なら本番ビルドから除外される | |
heroImage | 記事フォルダ内の画像への相対パス |
書きかけの記事
draft: true にしておくと、npm run dev では表示されますが本番ビルドからは除外されます。
記事のファイルを移動する必要はありません。
画像
記事フォルダに画像を置いて、Markdown から相対パスで参照します。

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