The theme includes Hugo’s internal Google Analytics template in <head>. Configure it with Hugo’s service settings:
services:
googleAnalytics:
id: G-MEASUREMENT_ID
Only production builds (hugo, not hugo server) emit the snippet. See Hugo’s privacy configuration for options.
Single posts include Hugo’s internal Disqus template. Enable it by setting your shortname:
services:
disqus:
shortname: your-disqus-shortname
Comments render below each post. Leave unset to disable.
https://formspree.io/f/abcdefgh → abcdefgh).Configure:
params:
contact:
enable: true
content: My inbox is always open.
btnName: Send
formspree:
enable: true
formId: abcdefgh
emailCaption: "Enter your email address"
messageCaption: "Enter your message here"
messageRows: 5
The theme loads static/js/contact.js, which submits the form with fetch, shows a success or error alert and resets the form on success. When Formspree is enabled the mailto button is not rendered.
params:
mathjax: true # every page
or mathjax: true in a single post’s front matter. MathJax 3.2.2 is loaded from cdnjs (with SRI).
Serve responsive, auto-optimised images that are hosted on Cloudinary.
Set your cloud name:
params:
cloudinary_cloud_name: "YOUR_CLOUD_NAME"
Use the shortcode in a post:
| Parameter | Default | Meaning |
|---|---|---|
src |
– | Path after the transformation segment, e.g. /v1234/photo.jpg. |
title |
– | Used as alt and title. |
width |
w_auto |
Cloudinary width transformation. |
style |
max-width:80% |
Inline CSS. |
The Cloudinary JS library is loaded only when cloudinary_cloud_name is set.
Bootstrap 5 and Font Awesome 6 are bundled in static/. Set params.useBootstrapCDN to true, "css" or "js" to load Bootstrap from jsDelivr instead.
Everything in Hugo’s embedded shortcodes (YouTube, Vimeo, X/Twitter, Instagram, Gist, figure…) works in posts. See rich-content.md in the example site.