[go: up one dir, main page]

Skip to content

Allow version in component descriptor to be null to indicate a versionless component version

For components that do not have multiple versions, or require a version that does not reveal a version in the URL, it should be possible to set the version in the component descriptor to an empty and/or null value.

For legacy reasons, this behavior can already be achieved by setting the version to "master". There are various reasons why this is problematic, one of which is that "master" is a metaphor of oppression that's a painful reminder to some people. But beyond that, it doesn't make any sense in this context. The association to "versionless" is not apparent (or user-friendly) and requires knowing the history of Antora. It's much more clear if the version could just be empty and/or null. That value clearly communicates "no version".

name: antora-ui-default
version: ~

The only challenge this will present is if you need to reference a versionless page from another component or component version. From within the component, there's no way to express this since the xref target cannot start with @ (so it's not even possible). From outside the component, this only becomes a problem if the versionless version is not the latest (non-prerelease) version of the component (previously master@component::page.adoc, now component::page.adoc). The reason is because not specifying a version in a resource ID implies you want to use the latest version. So they would have to be one and the same.

We may need a special token in the xref (other than "master") to reference a versionless version. It has to be a word character, forward slash, period, or colon, as that is all AsciiDoc allows. Perhaps _ can be reserved for this purpose (e.g., _@component::page.adoc, _@page.adoc, etc). Another option is / (e.g., /@component::page.adoc, /@page.adoc, etc).

Edited by Dan Allen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information