dwgx@blog:~$dwgx
> cd ../posts

Astro のテンプレートを拝借して自分のブログをでっち上げた

// created

これは自分の個人ブログで、今見ているのがまさにそれだ。Astro で組んでいて、ここ数年いじってきた低レイヤー、逆向、ゲーム hack、セルフホストの過程で残したメモを集めるための場所だ。以前はこういうものが全部下書きやチャットログに散らばっていたが、今は一箇所にまとめて置いておける。

ゼロから書いたわけではなく、公式の blog テンプレートをそのまま拝借した:

npm create astro@latest -- --template blog

このテンプレートは Bear Blog のミニマル路線に倣ったもので、クリーンで小細工がなく、最小限のスタイルだけ与えて残りは自分でいじる。骨組みだけ渡してあとはどう育てようが口を出さない、この姿勢が気に入っている。

Astro を選んだのは楽をするためだ。静的出力で、Lighthouse は満点を叩き出せるし、読み込みも速い。SEO に必要なものはデフォルトで揃っていて、canonical も Open Graph も全部入っている。Sitemap と RSS もそのままサポートされているので、購読まわりで手を煩わせることはない。

コンテンツは content collections で回している。src/content/blog/ に Markdown を放り込み、getCollection() で取り出す。frontmatter には schema をかけて型チェックもできる。記事はそのままファイルで、プレーンテキストだから grep できるし git にも乗る。いつか使うのをやめたくなっても、よそへ移すのに負担がない。サイト全体は md の山とその外側の一枚の殻だけだ。

まず動かすのが先で、最初から大掛かりなプロジェクトにしようとしない。中身は自分で空の殻を埋めていくし、スタイルは本当に気に障ると感じたときに直せばいい。

リポジトリ: https://github.com/dwgx/dwgx-blog