Hugo Documentation

Henry
Henry is a Hugo theme with a gorgeous reading experience, chock-full of features. To find out more about all the features check out this blog post.
Getting Started
These are the instructions for setting up a hugo blog with the Henry theme.
# 1. Install Hugo
# https://gohugo.io/getting-started/installing/
brew install hugo
hugo new site blog-henry
cd blog-henry
# 2. clone Henry
git clone https://github.com/kaushikgopal/henry-hugo.git themes/henry
mkdir -p assets/css
cp themes/henry/assets/css/input.css assets/css/
# brew install node # if you don't have npm installed
npm init -y
npm install -D tailwindcss @tailwindcss/cli
npx @tailwindcss/cli -i ./assets/css/input.css -o ./assets/css/output.css
# 3. configure blog
## add these lines to your hugo.toml config file
theme = "henry"
# 4. run Hugo!
You’re good to go. Happy blogging!
For making things simpler to run, I recommend using the Makefile
# 5. use Makefile for convenience
# See my blog post on this https://kau.sh/blog/tailwind-hugo#bonus-tip
cp themes/henry/Makefile ./
make # and you're up and running!
# open http://0.0.0.0:1313/
# sample posts are in henry's content folder : themes/henry/content
# if you want to see some samples, just mark them from draft true → false
Now, whenever you need to get your hugo blog up and running again, just run make
.
To get the list of commands just type in make help
.
Optional configurations
Here are some recommended customizations to make in your hugo.toml
config file in addition to what was mentioned above.
RSS/JSON feed customizations
## hugo.toml
# enable .json RSS feeds
[outputFormats]
# output formats
# https://gohugo.io/templates/output-formats/#output-format-definitions
[outputFormats.rss]
mediatype = "application/rss"
# change RSS path for default XML feed to /feed.xml (default index.xml)
baseName = "feed"
[outputFormats.json]
# change RSS path for JSON feed to /feed.json
baseName = "feed"
# configure RSS feeds for specific pages
[outputs]
# output format for pages
# https://gohugo.io/templates/output-formats/#output-formats-for-pages
page = ["html"]
home = ["html", "rss","json"]
# sections = directories e.g. blog, letters, ppt
section = ["html","rss","json"]
# taxonomies = virtual tags/directories e.g. categories, tags (built-in)
# no rss for these as they're mostly "list" pages
taxonomy = ["html"]
# terms = values of taxonomies e.g. categories/programming
term = ["html", "rss","json"]
Related posts customization
## hugo.toml
[related]
includeNewer = true
threshold = 80
toLower = true
# weight index distribution tags > categories > title
[[related.indices]]
name = "tags"
weight = 80
[[related.indices]]
name = "categories"
weight = 20
[[related.indices]]
name = "title"
weight = 10
Henry in the Wild
Here are a couple of blogs that use Henry:
- Karthick Gopal’s blog
- Kaushik Gopal’s blog
License
The theme is available as open source under the terms of the MIT License.
Bug reports and pull requests are welcome on GitHub. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.