Skip to content

Conversation

@oddhack
Copy link
Contributor

@oddhack oddhack commented Jul 2, 2025

This is sufficiently complete that we can start publishing refpages in the docs site (once related PRs for the docs site and UI repositories are merged), though we should not migrate to them until the bits below are finished. The refpages are incorporated as a separate component (like spec, proposals, guide, etc.) and internally link between themselves where possible, while links to non-API content link to the spec component. I believe all of this works. The remaining bits TBD are:

  • nav.adoc issues
  • Handle aliases - it isn't enough to just do this with redirects or symlinks, like the current refpages, because the spec macros are looking for the aliases as well (see e.g. the list of promoted APIs in e.g. the VK_KHR_get_physical_device_properties2 appendix or many others - they resolve correctly now, but are mislabeled as the promoted API rather tan the aliased API defined by that extension).

The approach is to run the same refpage extraction step as used for the published refpages today, but sourced from the rewritten spec sources in the Antora spec component, and output to a new refpages component.

Merging this doesn't affect the current site build, but once it is merged, to make the new module appear on the site we will need to also merge KhronosGroup/Vulkan-Site#121 and KhronosGroup/antora-ui-khronos#25 to actually include the module content in the generated site.

(once final bits completed, will close) #1723
Closes internal issue 2837

@oddhack oddhack changed the title Framework for adding refpages to docs.vulkan.org Draft: Framework for adding refpages to docs.vulkan.org Jul 28, 2025
@oddhack oddhack changed the title Draft: Framework for adding refpages to docs.vulkan.org Framework for adding refpages to docs.vulkan.org Aug 6, 2025
@oddhack oddhack added this to the Signed-off to Merge milestone Aug 6, 2025
Runs the same refpage extraction step, but sourced from the rewritten
spec sources in the Antora spec component, and output to a new refpages
component.
Still need to:

* Generate refpages nav.adoc from refpage list (ideally with some structure)
* Set attributes in refpages antora.yml to refer to the spec component for partials and images
* Rewrite xrefs relative to the spec component, instead of as links into the registry HTML spec (changes to genRef.py needed)
link to other refpages, not to the specification.
xref rewrites, since they need to be passed several levels deep.
Move importFileModule to reflib.py for reuse by several scripts.
Consistently pass around the full path to pageMap.py and xrefMap.py, not
just the directory they're located in.
Use more consistent option / variable naming and capitalization when referring to maps.
Pass spec module name correctly when building Antora refpage sources.
This is incomplete - aliases are not included because they are part of the same
page as the API they alias.
Also, extension refpages are not included yet.
Remove old apispec.adoc generated file and corresponding Makefile
targets 'manhtml' and 'manpdf', and use a different proxy target when
generating the refpage .adoc markup.
Improve refpage nav.adoc generation.
Still needs to handle pages in refpage_other_types and perhaps aliases
need to be handled differently, but much closer.
it from the 'pageMap' of asciidoc anchors to specification filenames.

Use more consistent f'' style for strings with imbedded variables.
generation, which was never published.
Now includes nav links for aliases which link to the aliased page.
Minor fixes to refpage block markup.
Split diagnostics from warnings in refpage generation log.

Still problematic:

* Generated interface files (e.g. refpage.<extensionname>.adoc) for promoted extensions are not resolving e.g. slink: markup for APIs which are aliased to promoted APIs.
* nav index is very long (3100 lines!) and while it does collapse at the level of first letters, it does not collapse at the level of refpage types (e.g. 'Structures', 'API Core Versions', etc.)

Otherwise this is looking much better.
reducing complaints from Antora about unresolved xrefs, and otherwise
improve markup consistency.
@oddhack oddhack merged commit 31a398b into main Aug 25, 2025
13 checks passed
@oddhack oddhack deleted the antora_refpages branch January 10, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants