hugo/docs/content/en/hugo-pipes/fingerprint.md
2023-07-29 11:17:28 +02:00

1.2 KiB
Executable file

title linkTitle description categories keywords menu weight signature
Fingerprint Fingerprinting and SRI hashing Process a given resource, adding a hash string of the resource's content.
asset management
docs
parent weight
hugo-pipes 100
100
resources.Fingerprint RESOURCE [ALGORITHM]
fingerprint RESOURCE [ALGORITHM]

Usage

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

The default hash algorithm is sha256. Other available algorithms are sha384 and (as of 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 algorithm, one hyphen and the base64-encoded hash sum.

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