メインコンテンツへスキップ

Cloudflare×Hugoにブログを移植する話

目次

はてなブログからブログを移植しようとしている。 せっかくなので、今回の移植についてまとめておこうと思う。


それらは何?
#

Cloudflare
#

CDNに強みを持つクラウドサービス。 静的なサイトを構築できるサービス"Cloudflare Pages"をもつ。 無料枠の利用範囲が非常に充実しているが、サイトのHTMLソースは別途用意する必要がある。

Hugo
#

ブログ形式の静的なサイトを構築するテンプレート。 Markdownをもとにしてサイトのソースを簡単に作成できる。 そのままWebサーバとして動かせる機能をもつ。


なぜCloudflare×Hugoなのか
#

基本的に無料
#

Cloudflare Pagesの無料枠は、20,000ファイルまでのサイトを作成できる。 回線の帯域やデプロイ時間(サイトの重さ)等に多少の制限はあるが、 文章メインのサイトとしてはほとんど不便がなさそう。

ドメインが素敵
#

無料でサイトを作成しようと思うと、独自ドメインの取得はなるべくやりたくないものだ。 かといって一般的なブログサービスを使うと、 例えば “○○.hatenablog.com” のように、プラットフォーム名が 長々とついてしまい、自分のサイトじゃないように感じてしまう。 しかし、Cloudflare Pagesのドメインは “pages.dev” である。独自ドメインを取得 しなくとも、サブドメインで “○○.pages.dev” にサイトを構えることができる。 このドメインなら、見劣りしない。


サイト構築の手順
#

準備
#

Cloudflare公式サイトで、アカウントを作成しておく。

また、HUGOの公式サイト(下記)から、ブログのテーマを選択してダウンロードする。 https://themes.gohugo.io/

Hugoを使ってローカルで検証
#

下記のコマンドでHugoをインストールする。

npm install hugo

次に、ルートディレクトリにしたい場所(D:\app\hugo\など)に移動し、 サイトを作成する。 (“my-blog"には任意の名称を入れる)

cd D:\app\hugo
hugo new site my-blog

作成したら、作成されたディレクトリに移動して、 試しに投稿を追加してみる。 (“my-post"には任意の名称を入れる)

cd my-blog
hugo new posts/my-post

作成された記事ファイル(my-blog\content\posts\my-post.md)に記事内容をMarkdownで記載していく。

書けたら、サイトの見え方をローカルで確認するため、下記コマンドを実行する。 これにより、localhost:1313 でサイトが実行されるので、ブラウザなどで確認することができる。

hugo server -D

ちなみに、"-D"はドラフト記事も含めて表示するという意味である。

wranglerコマンドで公開
#

Wranglerとは、Cloudflare公式のCLIツールだ。 公式サイトのGUI上からサイトをアップすることもできるのだが、 コマンドでできるほうが更新が速くできるため、今回はこっちを使用する。

下記のコマンドを実行することでインストールできる。

npm install wrangler

インストールしたら、下記のコマンドでサイトを公開できる。

wrangler pages deploy public --project-name ブログ名