ADR-0001: Documentation Strategy
Documentation Repository Strategy with Hugo and Hextra
Repository Setup
We’ve chosen Hugo with the Hextra theme for our documentation site due to its excellent organization features, search capabilities, and responsive design.
Repository Structure
project-docs/
├── content/ # Main content files (in Markdown)
│ ├── _index.md # Home page
│ ├── architecture/ # Architecture documentation
│ ├── decisions/ # ADRs and decision records
│ ├── guides/ # How-to guides and tutorials
│ ├── research/ # Research findings
│ ├── poc/ # Proof of concept documentation
│ ├── meetings/ # Meeting notes
│ └── _templates/ # Templates for content creation
├── hugo.yaml # Hugo configuration
├── assets/ # CSS, JS, and other assets
├── layouts/ # Custom layouts (if needed)
├── static/ # Static files
└── public/ # Generated site (after build)
Content Organization
1. Architectural Decision Records (ADRs)
Keep the same ADR format but place them in content/decisions/
with proper front matter:
---
title: "ADR-0001: Documentation Strategy"
description: "Decision to use Hugo with Hextra for documentation"
date: 2025-08-10
tags: ["documentation", "strategy", "hugo", "hextra"]
weight: 1
---
2. Research and POC Documentation
Maintain the same templates but adapt them to work with Hugo’s front matter system.
Hextra-Specific Benefits
- Navigation: Hextra’s sidebar automatically organizes content hierarchically
- Search: Built-in client-side search functionality
- Dark/Light Mode: Toggle between themes with no additional setup
- Mobile Responsiveness: Documentation works well on all devices
- Code Highlighting: Excellent syntax highlighting for code blocks
Recommended Tools & Integrations
- GitHub Pages or Netlify - For hosting the generated site
- GitHub Actions - For automated builds and deployment
- Mermaid - For diagrams (supported by Hextra)
- Hugo Modules - For managing documentation components
- Algolia DocSearch - For enhanced search capabilities (optional)
Implementation Recommendations
- Content Organization: Use Hugo’s weight parameters and folder structure for logical organization
- Link Checking: Use Hugo’s built-in link checking with
hugo --gc --minify --debug
- Versioning: Consider implementing versioning if documentation needs to track different product versions
- Contribution Flow: Document the process for contributing (create branch → make changes → build locally → create PR)
This strategy leverages Hextra’s strengths while maintaining the excellent documentation organization principles from the original approach. The key difference is using Hugo’s content management system and Hextra’s theme features rather than a custom approach.