Hugoでキャッシュバスターをつける方法

CSSなどの静的ファイルにキャッシュバスターをつけてみます。

キャッシュバスターに指定する値には作成時などのUnixTimeなどを使用することが多いかもしれないですが、ちゃんとキャッシュをコントロールするにはファイルのハッシュ値を使ったほうが、ファイルに変更があった場合にのみキャッシュが使われなくなるので今回はこの方法を使います。

{{ $digest := slicestr (readFile "static/css/style.css" | md5) 0 10 }}
<link href="/css/style.css?{{ $digest }}" rel="stylesheet" type="text/css"/>

ファイルのmd5を取って最初の10文字だけ使うようにします。

参照