ブログを作った
takuyaw-w.dev というドメインを持っていたものの、ほとんど活用できていなかった。
ブログを作ろう、作ろうと思いつつ、なかなか重い腰を上げることができずにいたが、AIの力を借りて、ようやくブログのテンプレートを作成できた。
本来はコンテンツに集中したい。 それなのに、ブログの見た目や仕組み、ホスティング、記事管理のような、本質ではない部分に気を取られることにストレスを感じていた。
これでようやく、書くことに集中できるようになった気がする。
何を書くのか
ブログの内容は、たぶん雑記になると思う。
最近は読書にハマっているので、読書の内容をまとめることが多くなるかもしれない。 今まで読書メモはほとんどしていなかった。読み終わった直後は覚えていても、しばらくすると細部はどんどん抜けていく。
読んだ内容を忘れないようにするためにも、読書メモをブログに残していきたい。
技術メモも書く。 開発中に詰まったこと、調べたこと、作ったもの、判断に迷ったことなども置いていく。
技術構成
技術的な話をすると、このブログテンプレートは Astro で作成している。 ホスティングには Cloudflare Pages を使っている。
構成としては、テンプレートとコンテンツを分けた。
- blog-template
- Astro本体、レイアウト、CSS、ビルド設定
- blog-content
- Markdown記事、About、Projects、画像
同じリポジトリにまとめることもできたが、テンプレートとコンテンツが混ざると、後から分離しづらいと感じた。 記事を書きたいだけなのに、テンプレート側の都合を意識し続けるのは避けたかった。
リポジトリを分けておけば、最悪テンプレートはいつでも捨てられる。 コンテンツさえ残っていれば、別のテンプレートや別の仕組みに載せ替えられる。
どうやって合成しているか
テンプレートとコンテンツの合成は、Cloudflare Pages のビルド処理で行っている。
Cloudflare Pages には blog-template のリポジトリを紐づけている。
blog-template が更新された場合は、そのまま Cloudflare Pages の CI/CD が走る。
一方で、記事は blog-content 側で管理している。
記事を更新して blog-content に push すると、Webhook 経由で Cloudflare Pages の Deploy Hook を叩く。
すると、Cloudflare Pages が blog-template を再ビルドする。
そのビルド中に blog-content を clone し、テンプレート側の src/content に同期する。
その上で Astro がビルドされ、最終的に dist が公開される。
ざっくり言うと、こういう流れになる。
そして今、このブログが公開されている。
なぜテンプレートとコンテンツを分けたのか
なぜここまでして、テンプレートとコンテンツを分けたのか。
一番大きい理由は、文章を自分の手元に置いておきたかったからだ。
世の中には、はてなブログや note のような便利なブログサービスがある。 もちろん、それらはそれらで良い。すぐ書けるし、管理も楽だ。
ただ、そういったサービスでは、テンプレートとコンテンツが完全には分離していない。 場合によっては、Markdownで書くことや、Markdownとして出力することが十分にサポートされていないこともある。
自分が書いた文字が、自分が書いた文章が、どこかのサービスのどこかのサーバーに保存される。 それ自体は普通のことではある。
でも、コンテンツの所有者は誰なのか。
私である。
私が書いた文章は、私のものであるべきだ。
だから、テンプレートとコンテンツを分けた。 文章は Markdown として Git で管理する。テンプレートはその文章を表示するための仕組みとして扱う。
保存先として GitHub を利用しているので、完全に自分の手元だけで完結しているわけではない。 ただ、GitHub はある種のストレージとして見なしている。そこは勘弁されたい。
これから
まずは、あまり構えずに書いていく。
技術記事を書くこともあると思う。 読書メモを書くこともあると思う。 ただの日記に近いものを書くこともあると思う。
Markdown source: /blog/2026/06/create-blog.md