キャッシュを回避するためにCSSやJavascriptなどのリソースファイルのURLにハッシュを付けたい。
解決策
resources.Fingerprint
を使う。
以下のように、リソースファイルを取得時に、resources.Fingerprint
を適用する。
リソースファイルのURLに、リソースファイルのハッシュ値が付与される。
利用例
{{ $syntaxCss := resources.Get "css/syntax.css" | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $syntaxCss.RelPermalink }}">
実行結果
<link rel="stylesheet" href="http://localhost:1313/portfolio/css/syntax.d59352fe2c71602c0598c94b3cdaaef7d6553d94438605aefc2b925940f21d6a.css">
ハッシュ関数の変更方法
resources.Fingerprint
で使用されるハッシュ関数はデフォルトがsha384
である。引数に指定することで、他にsha512
とmd5
に変更できる。
{{ $syntaxCss := resources.Get "css/syntax.css" | resources.Fingerprint "md5" -}}
<link rel="stylesheet" href="{{ $syntaxCss.RelPermalink }}">