Skip to content

Antora docs site has no version selector — pin per release instead of a single unversioned component #976

Description

@michalharakal

Summary

`docs/antora.yml` declares `version: ~` — Antora's syntax for an explicitly
unversioned component. The published site (once #975 is also fixed so it deploys
at all) only ever shows one snapshot of the docs, with no way to view the docs as they
were for an older release (e.g. 0.39.x) versus current `develop`. The workflow's own
comment acknowledges this is deliberate scope-narrowing: "Single-version for now; a
dedicated multi-repo aggregation site can come later."

This matters concretely for this session's work: SKEEP-002/003 landed on `develop`
and are reachable from tag `0.40.1`, but a reader on the live site has no way to know
"is this SKEEP status current as of the latest release, or has it moved since." Same
class of problem applies to any API/behavior doc that changes between releases.

Proposed direction (not prescriptive — Antora supports several shapes here)

Antora has first-class multi-version support: each content source
(playbook `content.sources`) can point at multiple git refs (branches/tags), and each
ref's `antora.yml` `version:` becomes a selectable entry in the generated version
dropdown, with the highest `display_version`/`prerelease: false` version becoming the
default landing page.

Sketch:

  1. Set `version:` in `docs/antora.yml` per release (e.g. `version: '0.40'`,
    `display_version: '0.40.1'`) instead of `~`, updated as part of the existing
    `release: prepare X.Y.Z` commit pattern (SKaiNET-transformers already has this
    commit type; mainline doesn't yet but could adopt it, or just bump the antora.yml
    version field wherever the version bump currently happens).
  2. `antora-playbook.yml`'s `content.sources` adds tag refs (e.hg. `tags: 0.39., 0.40.`
    or an explicit allowlist) alongside `branches: develop`, so Antora builds one page
    tree per historical version from the tagged source at that point in time.
  3. Decide a retention policy (all tags forever vs. last N minor versions) — full
    history multiplies build time and site size per version.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions