Astroのcontent collectionを使うと、MarkdownやMDXの記事に型付きのfrontmatterを持たせられます。今回は各記事にcategorytagsを追加し、記事一覧だけでなくカテゴリ別、タグ別のページも作れるようにしました。

分類ページはgetStaticPathsで生成しています。ビルド時にすべての記事を読み込み、カテゴリやタグごとに記事を絞り込んでページを作る仕組みです。公開後は静的なHTMLとして配信できるので、個人ブログには十分扱いやすい構成です。

日本語タグも同じ仕組みで扱えます。タグ名をURL向けのslugに変換するとき、英数字だけに限定しないようにしておけば、日本語タグのような値でもページを生成できます。ブラウザ上では日本語URLとして見え、内部的には必要に応じてエンコードされます。

タグを日本語で書けると、記事を書くときの心理的な負担が下がります。分類名を英語に寄せるために迷うより、普段使っている言葉で素直に付けられるほうが、あとから探すときにも便利です。