kaushikgopal
henry-hugo
JavaScript

Henry: Hugo theme meant for a gorgeous reading experience and packed with features

Last updated Jul 1, 2026
91
Stars
8
Forks
3
Issues
0
Stars/day
Attention Score
36
Language breakdown
No language data available.
Files click to expand
README

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:

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.

🔗 More in this category

© 2026 GitRepoTrend · kaushikgopal/henry-hugo · Updated daily from GitHub