resources.Fingerprint
{{ with resources.Get "js/main.js" }}
{{ with . | fingerprint "sha256" }}
<script src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script>
{{ end }}
{{ end }}
Hugo 渲染後會顯示類似這樣的內容:
<script src="/js/main.62e...df1.js" integrity="sha256-Yuh...rfE=" crossorigin="anonymous"></script>
雖然此功能最常用於 CSS 和 JavaScript 資源,但您也可以將 resources.Fingerprint
函數應用於任何資源類型。
哈希算法可以是 md5
、sha256
(預設)、sha384
或 sha512
。
在加密地哈希資源內容後:
.Permalink
和.RelPermalink
方法返回的值會包含哈希總和。- 資源的
.Data.Integrity
方法會返回一個 子資源完整性(SRI)值,該值由哈希算法的名稱、一個連字號和 base64 編碼的哈希總和組成。