Skip to main content

Using Antora to Manage Complex Technical Documentation Websites

· 8 min read
Ivan Walsh
Technical Writer

What's the best tool for managing technical documentation websites?

You've probably seen something like this on LinkedIn or Reddit. And the answer is, as always, 'it depends'.

For example, this site is run on Docusaurus, which is pretty easy to setup and maintain. It also works very nicely with Git and our web hosting provider, so for a relatively simple site, it's fine. I should add that you can Docusaurus is not just for lightweight document sites as it has quite a lot of rich features, themes, and a very active community. So, worth a peek if you're looking to get started.

However, there are a few things it doesn't offer. At least, not out of the box. This leads us to Antora.

What's the best tool for managing technical documentation websites?

You've probably seen something like this on LinkedIn or Reddit. And the answer is, as always, 'it depends'.

For example, this site is run on Docusaurus, which is pretty easy to setup and maintain. It also works very nicely with Git and our web hosting provider, so for a relatively simple site, it's fine. I should add that you can Docusaurus is not just for lightweight document sites as it has quite a lot of rich features, themes, and a very active community. So, worth a peek if you're looking to get started.

However, there are a few things it doesn't offer. At least, not out of the box. This leads us to Antora.

What is Antora?

Antora is a static site generator designed specifically for technical documentation. Created by the team behind AsciiDoc, it treats your document set as a collection of 'versioned content sources' rather than a traditional website structure. This allows you to setup "documentation sites" that can aggregate content from multiple repos, branches, and versions into a single website.

In other words, instead of pulling your documents from a single repo, which is what I'm doing here, you could ingest material from X number of repos and organize them in a seamless manner on the website.

Versioning is also one of its strong points. For instance, if you want to maintain multiple versions of your documentation simultaneously. You can do something like this in Docusaurus, btw.

Antora documentation

Antora Use Cases

As mentioned above, while you can use tools like Docusaurus, Hugo, and Sphinx, from what I've seen its strength is in the following areas:

Multi-version Documentation Management

Once setup, you can maintain documentation for multiple product versions simultaneously. This allows you to pull content from different Git branches/repositories and publish them as separate versions in a single UI.

Distributed Documentation Teams

If you work on large projects or have distributed teams with multiple repos, you can aggregate the content from various sources into a single site while maintaining ownership and contribution workflows. While it does take time to configure, you'll see the gains in the long term.

Open Source Projects

It's a good fit for products that require community contributions, versioning, and integration with Git workflows.

Component-Based Architecture

For tech docs teams that work on require cross-referencing between different products and versions, you can use its component-based architecture to coordinate your content workflows.

For context, Antora's component-based architecture treats documentation as a collection of independent, reusable "components" rather than a monolithic website. As a result, each self-contained documentation unit can be mixed, matched, and assembled into different sites while maintaining their individual identity and versioning.

Each component has:

  • Its own repository (or can share a repository with other components)
  • Independent versioning (version 1.0, 2.0, etc.)
  • Modular structure (modules containing pages, assets, and partials)
  • Separate navigation and content organization

The following example provides a sample layout:

Company Documentation Site
├── API Gateway (Component)
│ ├── Version 3.0
│ ├── Version 2.1
│ └── Version 1.5
├── User Management System (Component)
│ ├── Version 2.2
│ └── Version 2.0
└── Analytics Dashboard (Component)
├── Version 1.8
└── Version 1.5

In this scenario, each component lives in its own Git repo, maintained by different teams, but appears as a unified documentation site to users.

Antora Limitations

There are a few limitations that you need to be aware of.

Learning curve

Compared to other tools, there is a bit of a learning curve. If you're familiar with static site generators, you'll understand how it's designed. However, if you're new to this area, it can be a bit tricky to get up and running. There's also a smaller community to help troubleshoot issues, which is unfortunate. Concepts (i.e. playbooks, components, modules, pages) can be overwhelming for tech writers coming from Flare/RoboHelp or less complex tech document tools.

AsciiDoc

Probably the main limitation is that you need to write (or migrate) your docs in AsciiDoc.

The team who created Antora felt that tech writers need a flavor of markdown with more advanced capabilities. While Markdown is fine for simple documentation, it has limitations for more complex technical material that requires advanced formatting, conditional text, and cross-referencing. However, I suspect this puts off many tech writers and developers who are used to writing in Markdown and may be reluctant to put time aside to skill up and migrate existing markdown.

Configuration Management

If you're new to SSGs, you may find the playbook configuration too complex for your sites. Troubleshooting issues regarding Antora's architecture and Git integration deter people from switching over.

Dynamic Features

I haven't explored this too much but from what I understand, it lacks built-in support for features such as user authentication, commenting systems, or implementing real-time content updates without additional tooling.

Deployment Complexity

Depending on your Git skill level, you may find its CI/CD pipelines and deployment strategies overly complex.

Plugin Ecosystem

Part of the reason, I use Docusaurus is because there is so much choice in terms of themes, plug-ins and community support. And it's all in markdown which everyone knows.

In contrast, Antora has a much smaller ecosystem of plugins and extensions.

Static Site Generator Comparison

The following table identifies the strengths and weakness of Antora and some of the leading SSGs.

Feature/AspectAntoraDocusaurusGitBookVuePress/VitePress
Primary FocusMulti-repo technical docsDeveloper documentationTeam knowledge baseVue.js ecosystem docs
Content FormatAsciiDoc onlyMarkdown + React/MDXMarkdown + blocksMarkdown + Vue
Learning CurveSteep (new concepts + AsciiDoc)Moderate (familiar React patterns)Easy (WYSIWYG + Markdown)Moderate (Vue knowledge helpful)
Multi-Version SupportExcellent (built-in, sophisticated)Good (built-in versioning)Limited (manual organization)Manual implementation required
Multi-RepositoryNative support (core feature)Single repo onlySingle workspace modelSingle repo focus
Cross-ReferencesPowerful (cross-component/version)Basic (within single repo)Good (within workspace)Basic linking
Content ReuseAdvanced (includes, partials, attributes)Limited (MDX components)Basic (snippets, templates)Limited (Vue components)
Team CollaborationExcellent (distributed teams, Git-native)Good (GitHub integration)Excellent (real-time editing)Good (Git-based)
Setup ComplexityHigh (playbooks, components, modules)Low (npm create, config file)Very low (web interface)Low (Vue CLI or manual)
Build PerformanceCan be slow (multi-repo aggregation)Fast (optimized for speed)Fast (cloud-based)Very fast (Vite/modern tooling)
Theming/CustomizationLimited themes, complex customizationMany themes, React-based customLimited (premium plans for custom)Flexible (Vue-based theming)
Plugin EcosystemSmall, specializedLarge, active communityGrowing but limitedGood (Vue ecosystem)
Search IntegrationGood (Lunr, external options)Excellent (Algolia built-in)Excellent (built-in)Good (built-in + external)
Hosting OptionsFlexible (any static host)Flexible (Netlify, Vercel, etc.)Managed hosting includedFlexible (any static host)
Community SizeSmall, nicheLarge, active (Facebook/Meta)Large, growingMedium (Vue community)
Documentation QualityComprehensive but complexExcellent, beginner-friendlyExcellent, user-friendlyGood, Vue-focused
Mobile ExperienceGood (responsive default theme)Excellent (optimized)Excellent (native apps)Good (responsive)
Real-time FeaturesNone (static only)Limited (comments via plugins)Real-time editing, commentsNone (static only)
Content ManagementGit-only (technical users)Git-based (some CMS integrations)Web-based editorGit-based
InternationalizationGood (attribute-based)Excellent (built-in i18n)Good (multi-language spaces)Good (Vue i18n integration)
CostFree (open source)Free (open source)Free tier limited, paid plansFree (open source)

Decision Framework

Choose Antora if:

  • Multi-repository documentation is essential
  • Team can invest in learning AsciiDoc
  • Large-scale documentation challenges

Choose Docusaurus if:

  • Single repository setup is sufficient
  • Developer-focused documentation
  • Need proven, widely-adopted solution

Choose GitBook if:

  • Non-technical team members need to contribute
  • Real-time collaboration is important
  • Managed solution preferred over self-hosting

Choose VuePress/VitePress if:

  • Build speed is critical
  • Flexible theming requirements
  • Technical team comfortable with Vue

One last thing

If you're running a relatively small tech document team with a single product, I'd suggest looking at tools, such as Docusaurus, Hugo, Sphinx, and Github Pages. This will allow you get started with publishing your tech docs.

Once comfortable with the process, you can then look at more complex workflows.

In the coming weeks, I'll go into more depth about how to setup a tech document website, tool usage, metrics and common pitfalls to avoid.

As always, drop me a line if you'd like to know more. My inbox is always open.