キャッシュを回避するために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 }}">