Hi Hugo maintainers,
I’m a theme contributor who sometimes fixes bugs. I’m excited to hear that the documentation is being restructured using the Diátaxis framework.
First, thanks for your ongoing maintenance and responses to the community. Providing example repositories when people ask questions takes a lot of effort and is really helpful.
I’d like to share some thoughts about the documentation. If anything comes across as critical, that’s not my intention, I just want to help Hugo’s community and users.
I’m not sure if this is the right place to share this, and many of these issues have probably been considered already or may be difficult to implement. But as a user, I thought I might offer a different perspective from the developers.
I’ve looked through these documentation sites extensively, and much of my feedback comes from them:
Current Issues I’ve Noticed
As a reader, the main problems I encounter are:
-
Hard to locate specific content, I use search 90% of the time instead of navigating through menus, while with other docs I rarely need search
-
Unclear reading progression, it’s hard to know where I am or what to read next
Documentation Ordering
This feels like the most important issue to address. The current alphabetical sorting makes the docs harder to navigate, and the behavior is inconsistent. Most sections use alphabetical order, but important content like the new template system gets moved to the front.
This should be fixed with the Diátaxis restructure though.
Card Layout
The card layout creates navigation issues for me. I often lose track of where I am in the documentation and what to read next. Cards have both horizontal and vertical relationships, while other documentation sites only have vertical relationships between sections, creating a clear reading flow.
When I try to find information visually instead of using search, I have to read through all the title names everytime to find what I need (even for documents I just read), or mentally go through the alphabet for alphabetically sorted sections (this doesn’t apply to functions and methods, which are naturally suited for alphabetical ordering).
Three-Column Layout
The three documentation examples I mentioned all use a three-column layout: left sidebar for document structure, main content in the center, and right sidebar with page TOC.
I used to wonder why so many docs use this layout. It seemed boring that every site looks the same. But after thinking about it, I realized everyone uses it because it is the most effective for reading. The main benefit is:
You always know where you are in the documentation and what comes before/after.
This lets authors clearly guide users on “how to read the documentation.” The current card layout with inconsistent sorting makes it hard to understand progress and what to read next. I think many people end up jumping around the docs, which means they’ll inevitably miss things.
The three-column layout also addresses another UX issue: Hugo’s current documentation lacks clear visual separation between “In this section” and “On this page” navigation. Users must scroll down to access the page TOC, but since they typically arrive at a page from the section level, they’re immediately presented with the same section information they just navigated from. This also forces users to scroll back up after reading to navigate to the next section.
Top Navigation Bar
The top nav bar would be a perfect match for implementing Diátaxis. Looking at VitePress/Docusaurus docs, the synergy is clear:
-
Basic usage goes in docs/guides (whatever the name)
-
Advanced usage goes in API. Regular users never need to click into API unless they’re customizing themes
This reduces complexity by about 70% for regular users. Most people probably never need to read functions/methods section, and this design lets users know “I never need to click into the API section because I’m not customizing or writing themes.”
Diátaxis Ordering
uv has the clearest documentation structure I’ve seen, which is why I’m referencing it:
-
Getting Started lets you get something working quickly
-
Guides cover daily usage with shorter articles
-
Concepts are more detailed with longer articles. Also, I notice that when I see the “Package indexes” section I naturally don’t want to read it, and everything after that is indeed non-essential
-
Reference section listing all usage (corresponding to the top nav position for API mentioned earlier)
-
All sections flow logically from top to the bottom, creating a clear learning path that our docs currently lack
Though uv is a different type of tool from Hugo, I think we can still learn from their approach, especially regarding Diátaxis implementation.
Usage Guidance
Following Diátaxis principles, I think more effort should go into describing theme usage, since most people are users rather than developers. For example, as someone who sometimes answers questions for theme users, there are many people directly modifying theme folder contents instead of overriding them (when I think this is actually one of Hugo’s major features that other SSGs can’t match), and some users even get confused between _index.md
and index.md
. These basic topics are surprisingly hard to locate in the current documentation structure.
Misc
Section naming: from my perspective, these two names seem similar:
-
functions
-
methods
I don’t really think about the difference between them. In my mind they’re both “things I use in layouts”—but they’re separate sections. Maybe the distinction is necessary, but they should at least be listed together.
Javascript: the current documentation pages have transition effects that cause issues. When I’m quickly jumping between pages, I often need to click the same link multiple times before it actually navigates.
Summary
I believe that separating documentation for general users and developers, and intentionally guiding users through a logical reading sequence, would significantly improve the overall experience. I’m really looking forward to the transition to the Diátaxis framework and am confident these changes will make Hugo’s documentation even more effective. Thanks again for all your ongoing maintenance work!