Hugo を Docker で動かす
最近、可能な限り実行環境に Docker を使うようにしている。 久しぶりにブログを更新しようとしたら、Hugo をインストールしていなかったため、この機会に Docker で Hugo を動かすようにした。
Makefile の作成
docker-image は klakegg/hugo
を使用した。
Hugo を利用するために必要な設定がされており、コマンド1つで Hugo の実行環境が出来上がる。
以下のような Makefile を作成し、繰り返し実行するコマンドを簡単に実行できるようにした。
make serve
でローカルサーバを(http://localhost:1313)を立ち上げ、表示確認しながら編集するようにしている。
他にも、make shell
でコンテナの中でコマンドを実行したり、make post
で新規ページの作成をしたりできるようにした。
CURRNET_DIR := $(shell pwd)
# Hugo
HUGO_VER := 0.75.1
HUGO_IMG := klakegg/hugo:$(HUGO_VER)
HUGO_CMD := docker run --rm -it \
-v $(CURRNET_DIR):/src \
$(HUGO_IMG)
post:
@year="$$(date +%Y)"; \
month="$$(date +%m)"; \
yyyymmdd="$$(date +%Y%m%d)"; \
read -p "Please input title: " post; \
$(HUGO_CMD) new posts/$${year}/$${month}/$${yyyymmdd}_$${post}.md
serve-test:
$(HUGO_CMD) server -D
serve:
$(HUGO_CMD) server
shell:
$(HUGO_CMD)-alpine shell
これで、手軽に hugo
の実行環境を用意できるようになった。
ブログの更新も程々にやっていきたい。