Documentation Versions

The documentation site keeps each actual release in a versioned directory. The current release stays at the site root; older directories are historical and unmaintained.

Site Path Status
0.14.0 / Current site
0.13.3 /v0.13.3/ Snapshot of the actual published 0.13.3 site
0.13.2 /v0.13.2/ Snapshot of the actual published 0.13.2 site
0.13.1 /v0.13.1/ Snapshot of the actual published 0.13.1 site
0.13.0 /v0.13.0/ Snapshot of the actual published 0.13.0 site
0.12.1 /v0.12.1/ Snapshot of the actual published 0.12.1 site
0.12.0 /v0.12.0/ Snapshot of the actual published 0.12.0 site
0.11.0 /v0.11.0/ Snapshot of the actual published 0.11.0 site
0.10.0 /v0.10.0/ Snapshot of the actual published 0.10.0 site
0.9.0 /v0.9.0/ Snapshot of the actual published 0.9.0 site
0.3.0 /v0.3.0/ Frozen historical site

These paths are relative to the deployed site, so the same list works under a repository prefix such as /askr/. Askr’s root askr-versions.json is the single maintained version-list source. The table and JSON example below show the full English site history. The current Traditional Chinese header menu begins at v0.14.0; its v0.13.3-and-older snapshots remain unchanged.

{
  "mode": "inline",
  "longTitle": "Interferometric Purcell Filter",
  "versions": [
    {"label": "0.14.0", "root": "/", "latest": true},
    {"label": "0.13.3", "root": "/v0.13.3/"},
    {"label": "0.13.2", "root": "/v0.13.2/"},
    {"label": "0.13.1", "root": "/v0.13.1/"},
    {"label": "0.13.0", "root": "/v0.13.0/"},
    {"label": "0.12.1", "root": "/v0.12.1/"},
    {"label": "0.12.0", "root": "/v0.12.0/"},
    {"label": "0.11.0", "root": "/v0.11.0/"},
    {"label": "0.10.0", "root": "/v0.10.0/"},
    {"label": "0.9.0", "root": "/v0.9.0/"},
    {"label": "0.3.0", "root": "/v0.3.0/"}
  ]
}

Include the manifest in project.resources. Each root identifies a complete version site relative to that site’s deployment root. The version selector is provided by Askr; consumers maintain their own archive directories and manifest. In this Gallery, source snapshots live in archives/v*/; a full quarto render . from the repository root builds both language sites and copies the snapshots to public _site/v*/ paths. The current Gallery build derives the Traditional Chinese selector manifest from this root list using entries from v0.14.0 onward. Its current Chinese root is ./; archive roots remain relative to each Chinese site. This is Gallery build configuration, not an extension feature, and older Chinese archives remain unchanged. No second version list is maintained. The helper is source-repository tooling and is not installed by quarto add.

Use href for a fixed destination instead of a root. Relative and single-slash href values are site-relative; absolute URLs keep their origin. Fixed destinations do not preserve the current page path. When a selector manifest lives inside an archive, its root entries are relative to that archive’s site root. The Gallery generates that archive-local metadata from the root version list.

inline shows the current version beside a short title. title shows the title and chevron, with the version number in the menu. Try the long-title specimen; longTitle is optional and used only in title mode.

The same local versions manifest seeds the selector’s initial list. Runtime external configuration remains authoritative when supplied; theme version metadata is not used to infer selector entries. Keep one manifest as the maintained list rather than duplicating it in page markup.

Keyboard interaction

The selector is a disclosure with ordinary links, not a listbox. Tab to its button and press Enter or Space to open it. Tab and Shift-Tab move among the links; Enter follows one. Escape closes the menu and returns focus to the button. Tabbing away or clicking outside closes it without moving focus back. The current version link has aria-current="true".

Archived sites

The 0.13.3, 0.13.2, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.0, 0.10.0 and 0.9.0 snapshots each preserve the actual published Pages site for that release; the 0.3.0 snapshot remains unchanged. These archives are historical, unmaintained documentation.

The current 0.14.0 selector preserves the page path, query and fragment when switching to another version. For an ordinary same-origin click, it checks the destination; a 404 opens the selected site’s homepage. A network error retains the original destination. Modified clicks (Cmd/Ctrl-click or a new tab) and external URLs keep normal browser behavior, so the host’s error page owns those cases.

The 0.13.3, 0.13.2, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.0, 0.10.0 and 0.9.0 manifests each have a single archive-local root for the current-version marker; all version links open their configured homepages. The frozen 0.3.0 manifest uses origin-root paths and fixed links so navigation works under /askr/. This Gallery’s build helper generates archive manifests from the root list without rewriting old HTML.

This page is absent from the 0.3.0 snapshot. Selecting that version opens its homepage rather than a missing page.

Publishing a new version

Before replacing the current site root, place the actual published site in its source archive directory. For example, archive 0.14.0 in archives/v0.14.0/; the next build copies it to _site/v0.14.0/, preserving the public /v0.14.0/ path, and generates its archive-local manifest. Then add v0.14.0 to ARCHIVED_SITES in _scripts/build_zh_tw.py and update the root manifest to name the new current release and retain older entries. Keep a single current-version entry while that release remains at the site root. Consumers own this publishing step for their own sites.

The Gallery’s long-title specimen is available at versions.html?askr-version-mode=title. Its longTitle manifest field is optional and does not affect version routing.