The following variables and functions are exposed to the Sphinx HTML builder context in all versions.
All versions will be exposed to the HTML context as Version
objects with the following attributes:
name
The branch or tag name.
url
The URL to the current page in this version.
version
The value of the version
variable in conf.py
.
release
The value of the release
variable in conf.py
.
is_released
True
if this version matches the configured <configuration>
smv_released_pattern
regular expression, else False
.
The most important variable is versions
, which can be used to iterate over all found (and whitelisted) versions.
versions
An iterable that yields all Version
objects.
<h3>Versions</h3>
<ul>
{%- for item in versions %}
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
{%- endfor %}
</ul>
versions.branches
You can use the branches
property of the versions
iterable to get the Version
objects for all branches.
<h3>Branches</h3>
<ul>
{%- for item in versions.branches %}
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
{%- endfor %}
</ul>
versions.tags
You can use the tags
property of the versions
iterable to get the Version
objects for all tags.
<h3>Tags</h3>
<ul>
{%- for item in versions.tags %}
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
{%- endfor %}
</ul>
versions.releases
You can use the releases
property of the versions
iterable to get all Version
objects where the ìs_released
attribute is True
. This is determined by the smv_released_pattern
in the Configuration <configuration>
.
<h3>Releases</h3>
<ul>
{%- for item in versions.releases %}
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
{%- endfor %}
</ul>
versions.in_development
You can use the in_development
property of the versions
iterable to get all Version
objects where the ìs_released
attribute is False
. This is determined by the smv_released_pattern
in the Configuration <configuration>
.
<h3>In Development</h3>
<ul>
{%- for item in versions.in_development %}
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
{%- endfor %}
</ul>
Similar to Sphinx's hasdoc() function.
vhasdoc(other_version)
This function is Similar to Sphinx's hasdoc() function. It takes other_version
as string and returns True
if the current document exists in another version.
{% if vhasdoc('master') %}
This page is available in <a href="../master/index.html">master</a>.
{% endif %}
vpathto(other_version)
This function is Similar to Sphinx's pathto() function. It takes other_version
as string and returns the relative URL to the current page in the other version. If the current page does not exist in that version, the relative URL to its master_doc is returned instead.
{% if vhasdoc('master') %}
This page is also available in <a href="{{ vpathto('master') }}">master</a>.
{% else %}
Go to <a href="{{ vpathto('master') }}">master</a> for the latest docs.
{% endif %}
current_version
A Version
object for of the current version being built.
<h3>Current Version: {{ current_version.name }}</h3>
latest_version
A Version
object of the latest released version being built.
<h3>Latest Version: {{ current_version.name }}</h3>