1
0
Fork 0
hugo/docs/content/en/functions/resources/Fingerprint.md

1.4 KiB

title description categories keywords action
resources.Fingerprint Cryptographically hashes the content of the given resource.
aliases related returnType signatures
fingerprint
functions/resources/Minify
functions/css/Sass
functions/css/TailwindCSS
functions/js/Build
functions/js/Babel
resource.Resource
resources.Fingerprint [ALGORITHM] RESOURCE
{{ with resources.Get "js/main.js" }}
  {{ with . | fingerprint "sha256" }}
    <script src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script>
  {{ end }}
{{ end }}

Hugo renders this to something like:

<script src="/js/main.62e...df1.js" integrity="sha256-Yuh...rfE=" crossorigin="anonymous"></script>

Although most commonly used with CSS and JavaScript resources, you can use the resources.Fingerprint function with any resource type.

The hash algorithm may be one of md5, sha256 (default), sha384, or sha512.

After cryptographically hashing the resource content:

  1. The values returned by the .Permalink and .RelPermalink methods include the hash sum
  2. The resource's .Data.Integrity method returns a Subresource Integrity (SRI) value consisting of the name of the hash algorithm, one hyphen, and the base64-encoded hash sum