Getting Started
Install
Three install methods, ranked by recommendation.
Hugo extended 0.125 or newer is required. Check with hugo version — you want a build that says extended.
Pick your method #
Hugo Modules give you version-pinned installs and one-command upgrades. Requires Go 1.18+ for the one-time init.
# 1. Init your site as a Hugo Module (one time only)
hugo mod init github.com/your-org/your-site
# 2. Add the theme as a dependency
hugo mod get github.com/splunk/hugo-theme-splunk-workshopThen in hugo.toml:
[module]
[[module.imports]]
path = "github.com/splunk/hugo-theme-splunk-workshop"Pin to a release:
hugo mod get github.com/splunk/hugo-theme-splunk-workshop@v0.1.0Update later:
hugo mod get -uNo Go required, fully reproducible.
cd your-hugo-site
git submodule add https://github.com/splunk/hugo-theme-splunk-workshop.git \
themes/hugo-theme-splunk-workshopIn hugo.toml:
theme = "hugo-theme-splunk-workshop"When cloning the site fresh later:
git submodule update --init --recursiveQuickest, but you lose the version-control trail of the theme itself.
cd your-hugo-site/themes
curl -L https://github.com/splunk/hugo-theme-splunk-workshop/archive/refs/heads/main.tar.gz \
| tar -xz
mv hugo-theme-splunk-workshop-main hugo-theme-splunk-workshopIn hugo.toml:
theme = "hugo-theme-splunk-workshop"Which one?
Use Hugo Modules unless you have a strong reason not to — the version pin makes upgrades and CI deterministic. Submodule is fine for personal sites; direct download is fine for quick prototypes.Minimal hugo.toml
#
After installing the theme, this is the smallest config that produces a working site:
baseURL = "https://example.org/"
title = "My Workshops"
# Pick ONE of the install methods above; this example uses a submodule.
theme = "hugo-theme-splunk-workshop"
[markup.goldmark.renderer]
unsafe = true # required for raw HTML in shortcode output
[outputs]
home = ["HTML", "RSS", "JSON"] # JSON powers client-side searchYou’ll want to layer in [params] for branding once the basics work — see Customizing
.
Verify it works #
hugo serverOpen http://localhost:1313. You should see the theme’s default home with your site title. If something goes wrong, check the troubleshooting section below.
Troubleshooting #
Goldmark unsafe HTML
If shortcodes likecard render as escaped text, you forgot unsafe = true under [markup.goldmark.renderer]. The theme emits raw HTML.Search returns no results
The search modal needshome = ["HTML", "RSS", "JSON"] in your [outputs] block — the JSON output is the search index.hugo: command not found
Install Hugo extended:
- macOS:
brew install hugo - Linux: download from gohugo.io/installation (the package manager versions are often outdated and not the extended build)
- Windows:
choco install hugo-extended
