Hugo Theme Ananke
Introduction
- Installation as a Hugo Module (recommended)
- Installation as Git Submodule
- Upgrading from theNewDynamic to gohugo-ananke
Configuration
- Configuration Reference
- Analytics
- Header and Hero
- Homepage
- Menus
- Multilingual and i18n
- robots.txt and Environments
- General Configuration
- SEO
- Social Media Networks
Content
- Content Types and Archetypes
- Images
- Summaries and Reading Time
- Taxonomies
- Calculate and show reading time
- Frontmatter
- General
Shortcodes
Customization
Examples
Contributing
Hooks & Filters
Cookbook
Information
Contributingread more
Documentation Style
These rules keep Ananke’s documentation beginner-friendly and consistent. Follow them when adding or editing pages.
Principles #
- Use simple language. Write for someone new to Hugo. Avoid jargon, or explain it the first time.
- Do not assume Hugo knowledge. Do not rely on the reader knowing Hugo’s template lookup order, configuration merging, or section rules — link to the relevant explanation instead.
- Avoid undocumented magic values. If a value matters (a class name, a slug, a path), say where it comes from and what valid values look like.
Examples #
- Prefer full examples over fragments. A reader should be able to copy an example and have it work, not assemble it from pieces.
- Always say where a file goes. Start every code block that represents a
file with a comment naming its path, for example
# config/_default/params.tomlor a+++front matter block. - Use TOML first. TOML is the default example format. YAML and JSON are optional follow-up examples, not required.
- State the expected result. After an example, briefly describe what the reader should see once they apply it.
Configuration paths #
- Say whether an example is site configuration or page front matter.
- When installation method matters, say whether the example is for Hugo Modules or Git submodules.
- Use the current module path
github.com/gohugo-ananke/ananke/v2in installation examples.
Parameter names #
- Use the current
[ananke]parameter namespace (for exampleananke.show_recent_posts). Document any legacy flat parameter only as a deprecation note, never as the recommended form. - Verify a parameter against the theme before documenting it, rather than copying it from an older page.
Defaults before overrides #
- Explain a feature’s default behaviour first, then how to override it.
- Make clear when a setting is optional and what happens if it is omitted.
- Keep guidance consistent across pages — if two pages mention the same setting, they should agree and, where useful, link to one canonical explanation.
Contributing
read more
Layout Map
- Which template renders which page
- The base template
- Important partials
- Shortcodes
- Overriding any of these
This page maps Ananke’s templates to the pages they render. It is aimed at contributors and advanced users who want to find the right file quickly.
Which template renders which page #
| Page type | Template | Example URL |
|---|---|---|
| Homepage | layouts/home.html | / |
| Section list | layouts/list.html | /posts/ |
| Single page or post | layouts/single.html | /about/, /posts/my-post/ |
| Taxonomy list (a term) | layouts/taxonomy.html | /tags/hugo/ |
| Taxonomy terms index | layouts/terms.html | /tags/ |
| Not found | layouts/404.html | any missing URL |
Summaries on list pages and the homepage are rendered by
layouts/summary-with-image.html (and layouts/summary.html).