version-snapshot guides alongside API reference, fix index.md links, add released versions table#175
Merged
petesramek merged 4 commits intopreview/1.0from Apr 4, 2026
Merged
Conversation
…inks, add released versions table (#174) Previously, versioned folders contained only API reference YAMLs while guide pages were global (unversioned). The root `index.md` had entirely broken links. The version switcher navigated to a bare `/{ver}/` folder that has no `index.html`, causing 404s on GitHub Pages. ## Workflow (`publish-documentation.yml`) - **Guide snapshot**: copies `api-reference/guide/` into `api-reference/{ver}/guide/` immediately after API metadata generation, so each version folder contains a full snapshot of both guide and API reference - **DocFX version groups**: each group now registers two content entries — API YAMLs (`*.yml`) and guide pages (`guide/*.{md,yml}`) — producing `_docs/{ver}/` and `_docs/{ver}/guide/` in the build output - **Global TOC**: `Guide` nav link now points to `{latest}/guide/introduction.html` instead of the unversioned `guide/` - **index.md injection**: a single step builds the released versions table and substitutes both `{version}` and `{versions_section}` placeholders before `docfx build` runs (no committed artefacts) ## `api-reference/api-reference.json` Removed `guide/*.{md,yml}` from the global content entry — guide pages now exist only within versioned groups. ## `api-reference/index.md` Replaced broken links with `{version}`-placeholder paths resolved at build time. Added a `{versions_section}` placeholder that the workflow expands into a full released-versions table, e.g.: | Version | Guide | API Reference | |---------|-------|---------------| | v2.0 (latest) | [Guide](2.0/guide/introduction.html) | [API Reference](2.0/PolylineAlgorithm.html) | | v1.0 | [Guide](1.0/guide/introduction.html) | [API Reference](1.0/PolylineAlgorithm.html) | ## `docs-versioning/public/version-switcher.js` Fixed the fallback navigation branch (triggered when the user is not inside a versioned path) to resolve the site root via the `docfx:rel` meta tag and navigate to `/{ver}/PolylineAlgorithm.html` instead of the bare `/{ver}/` folder.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Previously, versioned folders contained only API reference YAMLs while guide pages were global (unversioned). The root
index.mdhad entirely broken links. The version switcher navigated to a bare/{ver}/folder that has noindex.html, causing 404s on GitHub Pages.Changes
Workflow (
publish-documentation.yml)api-reference/guide/intoapi-reference/{ver}/guide/immediately after API metadata generation, so each version folder contains a full snapshot of both guide and API reference*.yml) and guide pages (guide/*.{md,yml}) — producing_docs/{ver}/and_docs/{ver}/guide/in the build outputGuidenav link now points to{latest}/guide/introduction.htmlinstead of the unversionedguide/{version}and{versions_section}placeholders beforedocfx buildruns (no committed artefacts)api-reference/api-reference.jsonguide/*.{md,yml}from the global content entry — guide pages now exist only within versioned groupsapi-reference/index.md{version}-placeholder paths resolved at build time{versions_section}placeholder that the workflow expands into a full released-versions tabledocs-versioning/public/version-switcher.jsdocfx:relmeta tag and navigate to/{ver}/PolylineAlgorithm.htmlinstead of the bare/{ver}/folder