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.
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
touch assets/css/{output,override,override-fonts}.css
# brew install node # if you don't have npm installed
cp themes/henry/tailwind.config.henry.js ./tailwind.config.js
npm install -D tailwindcss
npx tailwindcss -i themes/henry/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!
# Option: use a single dev script
# See my blog post on this https://kau.sh/blog/tailwind-hugo#bonus-tip
./bin/dev
# 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
You're good to go. Happy blogging!
Now, whenever you need to get your hugo blog up and running again, just run ./bin/dev
.
Here are some recommended customizations to make in your hugo.toml
config file in addition to what was mentioned above.
## 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"]
## 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
Here are a couple of blogs that use Henry:
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.