Skip to content

Commit 7b5c09d

Browse files
committed
WIP
1 parent b961fe5 commit 7b5c09d

File tree

8 files changed

+84
-61
lines changed

8 files changed

+84
-61
lines changed

doc/_templates/version.html

Lines changed: 0 additions & 12 deletions
This file was deleted.

doc/conf.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"sphinx_design",
3939
"sphinx_inline_tabs",
4040
"sphinx_copybutton",
41+
"exasol.toolbox.sphinx.multiversion"
4142
]
4243

4344
intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}
@@ -61,6 +62,11 @@
6162

6263
# -- Options for HTML output -------------------------------------------------
6364

65+
## Multi version output configuration
66+
smv_tag_whitelist = r'^.*$' # Include all tags
67+
smv_branch_whitelist = r'(master|main)' # Include all branches
68+
smv_remote_whitelist = None # Only use local branches
69+
6470
# The theme to use for HTML and HTML Help pages. See the documentation for
6571
# a list of builtin themes.
6672
#

exasol/toolbox/sphinx/multiversion/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"""
2121

2222
from exasol.toolbox.sphinx.multiversion.main import main
23+
from exasol.toolbox.sphinx.multiversion.sphinx import setup
2324

2425
__version__ = "0.1.0"
2526

exasol/toolbox/sphinx/multiversion/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ def _main(args, argv):
566566
export_to_destination(matches, export_dst)
567567

568568
with resources.path(
569-
"exasol.sphinx_extensions.multiversion.templates", "multiversion-index.html"
569+
"exasol.toolbox.sphinx.multiversion.templates", "multiversion-index.html"
570570
) as p:
571571
with open(p, encoding="utf-8") as f:
572572
template = Template(f.read())

exasol/toolbox/sphinx/multiversion/sphinx.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,29 @@ def in_development(self):
9494
]
9595

9696
def __iter__(self):
97-
yield from self.tags
97+
def to_int(v):
98+
if v == '':
99+
return 0
100+
return int(v, base=0)
101+
102+
def version_key(version):
103+
version = version.strip()
104+
parts = version.split(".")
105+
try:
106+
major = int(parts[0])
107+
minor = int(parts[1])
108+
patch = int(parts[2])
109+
except ValueError as ex:
110+
print(f'version:{version} <<')
111+
print(f'parts:{parts} <<')
112+
print(ex)
113+
return (
114+
major,
115+
minor,
116+
patch
117+
)
98118
yield from self.branches
119+
yield from sorted(self.tags, key=lambda v: version_key(v.name), reverse=True)
99120

100121
def __getitem__(self, name):
101122
v = self.metadata.get(name)
@@ -183,7 +204,8 @@ def html_page_context(app, pagename, templatename, context, doctree):
183204
context["vhasdoc"] = versioninfo.vhasdoc
184205
context["vpathto"] = versioninfo.vpathto
185206

186-
context["current_version"] = versioninfo[app.config.smv_current_version]
207+
current = versioninfo[app.config.smv_current_version]
208+
context["current_version"] = current.name
187209
context["latest_version"] = versioninfo[app.config.smv_latest_version]
188210
context["html_theme"] = app.config.html_theme
189211

poetry.lock

Lines changed: 45 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ sphinx-copybutton = "^0.5.0"
5555
sphinx-inline-tabs = "^2023.4.21"
5656
sphinx-design = ">=0.5.0,<1"
5757
typer = {extras = ["all"], version = ">=0.7.0"}
58-
59-
6058
bandit = {extras = ["toml"], version = "^1.7.9"}
59+
jinja2 = "^3.1.4"
60+
6161
[tool.poetry.group.dev.dependencies]
6262
autoimport = "^1.4.0"
6363

@@ -110,3 +110,4 @@ ignore_errors = true
110110

111111
[tool.poetry.scripts]
112112
tbx = 'exasol.toolbox.tools.tbx:CLI'
113+
sphinx-multiversion = 'exasol.toolbox.sphinx.multiversion:main'

t.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from exasol.toolbox.sphinx.multiversion.main import main
2+
3+
4+
main()

0 commit comments

Comments
 (0)