minifyオプションが使えるHugoのDockerコンテナを作った
–minifyオプション なにそれ?
いつのまにかminifyオプションが実装されていた
Hugo >> ASSET MANAGEMENT >> Asset minification
minifyとは?
ブラウザでの描画に使われない改行、空白などを取り除きファイルサイズを削減する機能
パッケージマネージャー(apt)でインストールできるHugoにはまだ来ていないようだったので、debパッケージからインストールすることにした
Dockerfileで試行錯誤したい
Dockerfileを書くためにいちいちコンテナをビルドしていたら完成前に挫けてしまう
Dockerfileを作成する前にいろいろ試行錯誤する
$ docker run -it ubuntu:18.04 sh
# # ここからコンテナ内
# ここで試行錯誤したいコマンドを次々実行してみる
# exit
# # これでコンテナから抜ける
うまくいったものだけをDockerfileに書き残す
とりあえず書いてみたDockerfile
FROM ubuntu:18.04
## Ubuntu18.04の環境を構築する
RUN set -x && \
apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get -y -qq install wget language-pack-ja && \
update-locale LANG=ja_JP.UTF-8 && \
echo export LANG=ja_JP.UTF-8 >> /root/.bashrc && \
rm -rf /var/lib/apt/lists/*
## Hugoをインストールする
RUN set -x && \
wget -O /root/hugo_latest_Linux-64bit.deb https://github.com/gohugoio/hugo/releases/download/v0.52/hugo_0.52_Linux-64bit.deb && \
dpkg -i /root/hugo_latest_Linux-64bit.deb && \
rm /root/hugo_latest_Linux-64bit.deb
EXPOSE 1313
CMD test -f /website/local.sh ; /website/local.sh
/website/local.sh
はコンテナにマウントするパス(=コンテンツを永続化するための置き場所)に
$ cat local.sh
#!/bin/bash
hugo server --bind=0.0.0.0 --baseUrl="//localhost/" --theme=[なにか適当なテーマ] --buildDrafts --buildFuture
な感じのスクリプトを書いておくと、コンテナを実行するだけでHugoのローカルサーバーを使っていい感じに作業ができる
Dockerイメージをビルドする
$ docker build -t hugo:v052 .
Dockerコンテナを実行する
docker run -it --rm -p 1313:1313 -v /Volumes/website/takeuchi.tk:/website hugo:v052
竹内電設は、大阪府下を中心に中小規模の組織がITシステムを効果的に活用するための、お手伝いをさせていただいております
© 2023 竹内電設; all rights reserved.