Your next documentation theme...
Screen.Recording.2024-03-12.at.7.32.01.PM.mov
- Build a simple, modular but customizable technical documentation.
- Build the website without using node/npm or any external frameworks(CSS, JS, icon, font).
- Demo
- Responsive and adaptive layouts.
- Built-in light and dark modes.
- Customizable sidebars using Hugo data templates.
- Support for multiple documentation sets.
- Support for maintaining a blog.
- Implement a menu via Hugo configs.
- Integrate search or AI assistant.
- Use prebuilt binaries via https://github.com/gohugoio/hugo/releases/latest
- Verify the installation via `hugo version`
hugo new site newsite
cd newsite
git init
git submodule add https://github.com/dumindu/E25DX.git themes/E25DX
rm hugo.toml && cp themes/E25DX/hugo.yaml .
cp themes/E25DX/static/sw.js ./static/
cp themes/E25DX/static/manifest.json ./static/π‘ We don't need generated
archetypes,assets,i18n,layoutsfolders in thenewsitefolder
newsite/hugo.yaml- languages: en:title and en:description
- params: project, author and home
newsite/static/sw.js- cacheName prefix: ex. todo-
newsite/static/manifest.json- name, short_name, description
-
Add
newsite/content/en/docs/_overview.mdfor overview--- title: Overview url: "docs/overview" aliases: - "/docs" --- Overview
-
Add
newsite/content/en/docs/a1.hello-world.mdas the first page of first section--- title: Hello World slug: hello-world --- Hello World
-
Add
newsite/content/en/docs/b1.modules.mdas the first page of the second section--- title: Modules slug: modules --- Module
-
Add
newsite/data/en/docs/sidebar.ymlfor section titles and page titles- title: Documentation pages: - title: Overview - title: Basics pages: - title: Hello World - title: Beyond The Basics pages: - title: Modules
-
Add
newsite/content/en/blog/_index.mdfor blog list page--- title: Blog summary: This is a sample blog. --- Sample blog post
-
Add any image of png (or jpg) for
newsite/content/en/blog/cover.pngfor blog list page cover image -
Add
newsite/content/en/blog/2026_1_hello_world/index.md--- title: Hello World slug: "hello-world" summary: Hello World Summary --- Hello World
-
Add any image of png (or jpg) for
newsite/content/en/blog/2026_1_hello_world/cover.pngfor blog post cover image
-
Add
newsite/content/en/page/about/index.mdfor about page--- title: About url: "about" --- About
-
Add any image of png (or jpg) for
newsite/content/en/page/about/cover.pngfor about page cover image
-
Update
newsite/hugo.yamlto add menu configurationsmenus: main: - identifier: home name: Home pre: <i aria-hidden>π‘</i> pageRef: / weight: 1 - identifier: docs name: Docs pre: <i aria-hidden>π</i> pageRef: /docs weight: 2 - identifier: blog name: Blog pre: <i aria-hidden>ποΈ</i> pageRef: /blog weight: 3 - identifier: about name: About pre: <i aria-hidden>π§βπ»</i> pageRef: /page/about weight: 4
-
Run
hugo serverto preview the site.π‘ If you see
ERROR Failed to read Git log: fatal: your current branch 'main' does not have any commits yet, Changenewsite/hugo.yaml->enableGitInfo: false(if you want to runhugo serverbefore commit the changes.) -
Run
hugo build --minifyto build the site for production.