🏠

はてなブログをやめて、Zennと同時配信できる個人サイトをつくった

この記事は koylog.com にも掲載しています。

移行を決めた理由

いままで個人ブログには、はてなブログの有料プランをつかってきたのですが、最近は技術系の記事をZennに書くことも多く、プラットフォームの二重管理が続いていました。
また、有料プランのメリットも薄れてきたので、はてなブログではなく、個人サイトに移行することに決めました。

以前から、個人の箱庭的なサイトはほしいなとおもっていたのですが、なかなか腰があがりませんでした。
が、世はvibe coding時代、この機会に個人サイトをつくることにしました。

とはいえ、個人サイトをつくったところで、Zennとの二重管理は続きます。
そこで、Zennと個人サイトの同時配信を要件として開発し、できたのが koylog.com です。
Zennに投稿した技術記事と、雑記などの個人記事を同居させています。

どうやるか?

Zennにはすでに、GitHubを使って記事を管理する仕組みがあります。
その仕組みにのっとり、記事の管理をGitHubに一本化し、Zennと個人サイトの両方に配信することにしました。

              ┌→ zenn.dev     (articles/ のみ)
1つのリポジトリ ─┤
              └→ koylog.com   (articles/ + posts/)
  • articles/ … Zennにも出す技術記事
  • posts/ … 自サイトだけに出す記事(はてなから移したもの等)

実装について

フロントエンドは Astro、ホスティングは Cloudflare Workers をつかっています。
独自ドメインもCloudflareで取得しています。

Zennが見にいくのは articles/ だけなので、その隣に posts/ を置けば、後者は自動的に自サイト限定の記事になります。
また、title / emoji / type / topics / published など、記事のfrontmatterはZennのものをそのまま流用しています。
結果として、書くときの手順は、Zennも個人サイトも変わりません。記事をつくって git push すれば、両方が更新されます。

さらに、:::message のような独自記法も、Zenn自身が記事の表示に使っているパッケージをそのまま借りているので、
見た目を気にせず記事を書けます。

公開を経て

腰が上がらなかったブログの移行ですが、いざやってみると、思ったよりも簡単にできました。
休日に、Claude Codeに指示をだしては子どもと遊び、たまに様子をみてまた指示をだす、という感じで、構想からこの記事の公開まで約1日でした。
ローカルで記事をかいて、git push するだけで、Zennと個人サイトの両方に記事が公開されるのは、思った以上に快適です。

個人サイトは、自分の好きなように、好きなタイミングで手を加えられるので、ほそぼそとした趣味として機能開発して行ければと思います。
記事本体についても、ここ最近はブログの更新も滞っていましたが、この機会に、また書きたいことを気軽に書いていければと思います。
プラットフォームに依存せず、箱庭的な場所をもつことは、やはり楽しいですね。

← 記事一覧へ