Gopher
ASSET MANAGEMENT

Fingerprinting and SRI

Hugo Pipes allows Fingerprinting and Subresource Integrity.

Fingerprinting and SRI can be applied to any asset file using resources.Fingerprint which takes two arguments, the resource object and a hash function .

The default hash function is sha256. Other available functions are sha384 (from Hugo 0.55), sha512 and md5.

Any so processed asset will bear a .Data.Integrity property containing an integrity string, which is made up of the name of the hash function, one hyphen and the base64-encoded hash sum.

{{ $js := resources.Get "js/global.js" }}
{{ $secureJS := $js | resources.Fingerprint "sha512" }}
<script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}"></script>