Home

はてなブログからHugoへ引っ越し

2019/09/27 連絡

はてなブログ Pro を解約し Hugo へ引っ越した。

正確にいえば Hugo は静的サイトジェネレータと呼ばれるツールで、引っ越し先のインフラは AWS。ここに S3 と Cloudfront を設定し、Hugo で作成したコンテンツを配置して公開するようにした。

引っ越した理由は単純にお金がかかることと、コンテンツを自分でコントロールしたかったから。前者は月払で 1,000 円程度。1 年で 1.2 万円、5 年で 6 万円くらい。極端に高い訳では無いが、長く続けるとまあまあ積み上がる。他に手段がなければ別に良かったが Hugo と AWS の組み合わせを知ってしまうと技術者の自分の尺度では高い。後者は備忘録ブログの性質上、コンテンツ管理の全てをはてなに依存するのが漠然と不安になったから。もともと手間をかけずにとにかく始めて、続いたら次を考えるつもりだった。その目的からはてなを選んだが、その役割を果たして次のステップへ進む時に来たとも言える。そんなこんなで今週作業に取り掛かり(ほぼ)無事に移行が完了した。

移行に関しては次のブログとそこで公開されているツールがとても役に立った。 はてなブログを Hugo+AWS に移行しました

画像ははてなのサーバを参照したままになるので、画像だけ自分でシェルスクリプトを書いて移行した。こんな感じ。

#!/bin/bash

#find . -name "*.md" | grep "2019/03/04" |while read mdfilepath
find . -name "*.md" | while read mdfilepath
do
	mdfile=$(basename $mdfilepath)
	dir=$(dirname $mdfile)/${mdfilepath/.md/}
	echo $dir

	grep "<img class=\"hatena-fotolife\"" $mdfilepath | sed 's/.*<img ..*src="\([^"][^"]*\)"..*$/\1/' | while read url
	do
		mkdir -p $dir
		cd $dir
		echo " - downloading >> $url"
		curl -O $url
		cd -
	done

	sed 's/<img class="hatena-fotolife"..*src="..*\/\([^/][^/]*\)" [^>][^>]*>/![photo](.\/\1\)/g' $mdfilepath > /tmp/$$
	mv /tmp/$$ $mdfilepath

done

Hugo のテーマは QuickStart に出ていた Ananke を使ってる。
Hugo は Wordpress や はてなと違いマークダウンというテキストファイルを編集し、コマンドを実行して公開する必要がある。このあたりの操作は慣れてるので特に問題ない。ただ iPhone からの投稿ができなくなってしまった。この点だけこのブログの当初の目的から外れてしまうこととなる。。ゆくゆく方法を探るとしても当面はノートパソコンで書いていくことにする。

はてなから Hugo もとい AWS (S3 + Cloudfront) へ乗り換えて一番印象的だったのは

”激速”

CDN による配信はめちゃ快適。特にモバイルでもほとんど遅延が感じられない(というのは言い過ぎだが)。これだけ速いと Wordpress とかのプログラム形態には戻れんな。