From 0acc6c784794b8e2c0a345a989368feca22a99be Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 23 Jan 2026 15:31:56 +0100 Subject: [PATCH 1/7] Automatize API building --- docs/css/custom.css | 15 +++----- .../python/material/class.html.jinja | 37 +++++++++++++++++++ .../python/material/function.html.jinja | 37 +++++++++++++++++++ mkdocs.yml | 14 ++++++- requirements-docs.txt | 3 +- 5 files changed, 94 insertions(+), 12 deletions(-) diff --git a/docs/css/custom.css b/docs/css/custom.css index c09c2be37..806330d39 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -171,24 +171,21 @@ /*******************************************************/ /* Fix z-index. */ -header.md-header { - z-index: 900 !important; +.md-overlay { + z-index: 800 !important; } .md-sidebar { - z-index: 1000 !important; + z-index: 900 !important; } -.md-overlay { - z-index: 950 !important; +header.md-header { + z-index: 1000 !important; } .md-search__overlay { z-index: 1100 !important; } -.md-search__form { +.md-search__inner { z-index: 1200 !important; } -.md-search__output { - z-index: 1100 !important; -} /*******************************************************/ /* Hide repo stats. */ diff --git a/docs/templates/python/material/class.html.jinja b/docs/templates/python/material/class.html.jinja index 40687fccf..1ee1faa2b 100644 --- a/docs/templates/python/material/class.html.jinja +++ b/docs/templates/python/material/class.html.jinja @@ -1,6 +1,24 @@ {% extends "_base/class.html.jinja" %} {% block heading scoped %} + {% block alias_anchors scoped %} + {% if class.hopsworks_aliases and class.hopsworks_aliases.aliases %} + {% for alias in class.hopsworks_aliases.aliases -%} + {% for path in alias.paths -%} + {%- set alias_id = path + "." + (alias.as_alias or alias.object_name) -%} + {% filter heading( + heading_level, + role="class", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} + {%- endfor %} + {%- endfor %} + {% endif %} + {% endblock alias_anchors %} + {% block source_link scoped %} {% if config.extra.link_source and class.source_link %} [source] @@ -10,3 +28,22 @@ {{ super() }} {% endblock heading %} + +{% block contents scoped %} + {% block aliases scoped %} + {% if class.hopsworks_aliases and class.hopsworks_aliases.aliases %} +

+ Aliases: {% for alias in class.hopsworks_aliases.aliases -%} + {% for path in alias.paths -%} + {%- set fullpath = path + "." + (alias.as_alias or alias.object_name) -%} + {{fullpath}} + {%- if not loop.last %}, {% endif %} + {%- endfor %} + {%- if not loop.last %}, {% endif %} + {%- endfor %} +

+ {% endif %} + {% endblock aliases %} + + {{ super() }} +{% endblock contents %} diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index 7d621a25e..2a41f81db 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -1,6 +1,24 @@ {% extends "_base/function.html.jinja" %} {% block heading scoped %} + {% block alias_anchors scoped %} + {% if function.hopsworks_aliases and function.hopsworks_aliases.aliases %} + {% for alias in function.hopsworks_aliases.aliases -%} + {% for path in alias.paths -%} + {%- set alias_id = path + "." + (alias.as_alias or alias.object_name) -%} + {% filter heading( + heading_level, + role="function", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} + {%- endfor %} + {%- endfor %} + {% endif %} + {% endblock alias_anchors %} + {% block source_link scoped %} {% if config.extra.link_source and function.source_link %} [source] @@ -10,3 +28,22 @@ {{ super() }} {% endblock heading %} + +{% block contents scoped %} + {% block aliases scoped %} + {% if function.hopsworks_aliases and function.hopsworks_aliases.aliases %} +

+ Aliases: {% for alias in function.hopsworks_aliases.aliases -%} + {% for path in alias.paths -%} + {%- set fullpath = path + "." + (alias.as_alias or alias.object_name) -%} + {{fullpath}} + {%- if not loop.last %}, {% endif %} + {%- endfor %} + {%- if not loop.last %}, {% endif %} + {%- endfor %} +

+ {% endif %} + {% endblock aliases %} + + {{ super() }} +{% endblock contents %} diff --git a/mkdocs.yml b/mkdocs.yml index 474307ba1..567c52edf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -264,7 +264,7 @@ nav: - Access Audit Logs: setup_installation/admin/audit/audit-logs.md - Export Audit Logs: setup_installation/admin/audit/export-audit-logs.md - ArrowFlight Server with DuckDB: setup_installation/common/arrow_flight_duckdb.md - - Python API: "!import https://github.com/logicalclocks/hopsworks-api?branch=main" + - Python API: python-api - Java API: javadoc - Community ↗: https://community.hopsworks.ai/ @@ -333,7 +333,15 @@ plugins: minify_js: true - mike: canonical_version: latest - - multirepo + - api-autonav: + modules: + - hopsworks + - hopsworks_common + - hsfs + - hsml + nav_section_title: Python API + api_root_uri: python-api + hide_empty: true - mkdocstrings: custom_templates: docs/templates handlers: @@ -351,6 +359,8 @@ plugins: annotations_path: source extra: link_source: true + extensions: + - hopsworks_aliases.extension inventories: - https://docs.python.org/3/objects.inv - https://pandas.pydata.org/docs/objects.inv diff --git a/requirements-docs.txt b/requirements-docs.txt index e3e38fea1..6ccf073dd 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -4,7 +4,8 @@ mike==2.1.3 markdown==3.9 pymdown-extensions==10.17.2 mkdocs-minify-plugin>=0.2.0 -mkdocs-multirepo-plugin==0.8.3 +mkdocs-api-autonav@git+https://github.com/aversey/mkdocs-api-autonav.git +hopsworks-aliases@git+https://github.com/aversey/hopsworks-aliases.git mkdocstrings[python]==1.0.0 mkdocstrings-python==2.0.1 linkchecker From 82b638b6ab7a4da6bb691b17d2ca5157e5a19091 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Tue, 27 Jan 2026 14:35:11 +0100 Subject: [PATCH 2/7] Show only public entities --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 567c52edf..50071e251 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -357,6 +357,7 @@ plugins: show_source: false docstring_section_style: spacy annotations_path: source + filters: public extra: link_source: true extensions: From f6edd029c37e62afc09bce682fcc61b05df4213b Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 4 Feb 2026 12:38:43 +0100 Subject: [PATCH 3/7] Show public aliases --- .../python/material/class.html.jinja | 35 ++++++++----------- .../python/material/function.html.jinja | 35 ++++++++----------- mkdocs.yml | 8 ++--- requirements-docs.txt | 3 +- 4 files changed, 35 insertions(+), 46 deletions(-) diff --git a/docs/templates/python/material/class.html.jinja b/docs/templates/python/material/class.html.jinja index 1ee1faa2b..5820ed5a5 100644 --- a/docs/templates/python/material/class.html.jinja +++ b/docs/templates/python/material/class.html.jinja @@ -2,19 +2,17 @@ {% block heading scoped %} {% block alias_anchors scoped %} - {% if class.hopsworks_aliases and class.hopsworks_aliases.aliases %} - {% for alias in class.hopsworks_aliases.aliases -%} - {% for path in alias.paths -%} - {%- set alias_id = path + "." + (alias.as_alias or alias.object_name) -%} - {% filter heading( - heading_level, - role="class", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} - {%- endfor %} + {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %} + {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + heading_level+9, + role="class", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -31,14 +29,11 @@ {% block contents scoped %} {% block aliases scoped %} - {% if class.hopsworks_aliases and class.hopsworks_aliases.aliases %} + {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %}

- Aliases: {% for alias in class.hopsworks_aliases.aliases -%} - {% for path in alias.paths -%} - {%- set fullpath = path + "." + (alias.as_alias or alias.object_name) -%} - {{fullpath}} - {%- if not loop.last %}, {% endif %} - {%- endfor %} + Aliases: {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} + {%- set fullpath = alias.target_module + "." + alias.alias_name -%} + {{fullpath}} {%- if not loop.last %}, {% endif %} {%- endfor %}

diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index 2a41f81db..e940070d2 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -2,19 +2,17 @@ {% block heading scoped %} {% block alias_anchors scoped %} - {% if function.hopsworks_aliases and function.hopsworks_aliases.aliases %} - {% for alias in function.hopsworks_aliases.aliases -%} - {% for path in alias.paths -%} - {%- set alias_id = path + "." + (alias.as_alias or alias.object_name) -%} - {% filter heading( - heading_level, - role="function", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} - {%- endfor %} + {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %} + {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + heading_level+9, + role="function", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -31,14 +29,11 @@ {% block contents scoped %} {% block aliases scoped %} - {% if function.hopsworks_aliases and function.hopsworks_aliases.aliases %} + {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %}

- Aliases: {% for alias in function.hopsworks_aliases.aliases -%} - {% for path in alias.paths -%} - {%- set fullpath = path + "." + (alias.as_alias or alias.object_name) -%} - {{fullpath}} - {%- if not loop.last %}, {% endif %} - {%- endfor %} + Aliases: {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} + {%- set fullpath = alias.target_module + "." + alias.alias_name -%} + {{fullpath}} {%- if not loop.last %}, {% endif %} {%- endfor %}

diff --git a/mkdocs.yml b/mkdocs.yml index 50071e251..0758f36b6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -333,15 +333,14 @@ plugins: minify_js: true - mike: canonical_version: latest - - api-autonav: + - hopsworks-apigen: modules: - - hopsworks - hopsworks_common - hsfs - hsml + - hopsworks nav_section_title: Python API api_root_uri: python-api - hide_empty: true - mkdocstrings: custom_templates: docs/templates handlers: @@ -354,6 +353,7 @@ plugins: signature_crossrefs: true show_symbol_type_heading: true show_symbol_type_toc: true + members_order: source show_source: false docstring_section_style: spacy annotations_path: source @@ -361,7 +361,7 @@ plugins: extra: link_source: true extensions: - - hopsworks_aliases.extension + - hopsworks_apigen.mkdocs inventories: - https://docs.python.org/3/objects.inv - https://pandas.pydata.org/docs/objects.inv diff --git a/requirements-docs.txt b/requirements-docs.txt index 6ccf073dd..426d9e472 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -4,8 +4,7 @@ mike==2.1.3 markdown==3.9 pymdown-extensions==10.17.2 mkdocs-minify-plugin>=0.2.0 -mkdocs-api-autonav@git+https://github.com/aversey/mkdocs-api-autonav.git -hopsworks-aliases@git+https://github.com/aversey/hopsworks-aliases.git +hopsworks-apigen@git+https://github.com/aversey/hopsworks-aliases.git mkdocstrings[python]==1.0.0 mkdocstrings-python==2.0.1 linkchecker From 9cf2c3bf0f053df716b755927c0c8b19e851d813 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 4 Feb 2026 12:40:58 +0100 Subject: [PATCH 4/7] Skip the primary alias --- .../python/material/class.html.jinja | 28 +++++++++++-------- .../python/material/function.html.jinja | 28 +++++++++++-------- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/docs/templates/python/material/class.html.jinja b/docs/templates/python/material/class.html.jinja index 5820ed5a5..4b4af7d63 100644 --- a/docs/templates/python/material/class.html.jinja +++ b/docs/templates/python/material/class.html.jinja @@ -4,15 +4,17 @@ {% block alias_anchors scoped %} {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %} {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} - {%- set alias_id = alias.target_module + "." + alias.alias_name -%} - {% filter heading( - heading_level+9, - role="class", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} + {% if not loop.first %} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + heading_level+9, + role="class", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} + {% endif %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -32,9 +34,11 @@ {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %}

Aliases: {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} - {%- set fullpath = alias.target_module + "." + alias.alias_name -%} - {{fullpath}} - {%- if not loop.last %}, {% endif %} + {% if not loop.first %} + {%- set fullpath = alias.target_module + "." + alias.alias_name -%} + {{fullpath}} + {%- if not loop.last %}, {% endif %} + {% endif %} {%- endfor %}

{% endif %} diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index e940070d2..a202f0973 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -4,15 +4,17 @@ {% block alias_anchors scoped %} {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %} {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} - {%- set alias_id = alias.target_module + "." + alias.alias_name -%} - {% filter heading( - heading_level+9, - role="function", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} + {% if not loop.first %} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + heading_level+9, + role="function", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} + {% endif %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -32,9 +34,11 @@ {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %}

Aliases: {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} - {%- set fullpath = alias.target_module + "." + alias.alias_name -%} - {{fullpath}} - {%- if not loop.last %}, {% endif %} + {% if not loop.first %} + {%- set fullpath = alias.target_module + "." + alias.alias_name -%} + {{fullpath}} + {%- if not loop.last %}, {% endif %} + {% endif %} {%- endfor %}

{% endif %} From b98b683a0f144c9d8a494bbe8f99020adf4a12f6 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 4 Feb 2026 12:55:18 +0100 Subject: [PATCH 5/7] Fix TOC --- .../python/material/class.html.jinja | 36 +++++++++---------- .../python/material/function.html.jinja | 36 +++++++++---------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/docs/templates/python/material/class.html.jinja b/docs/templates/python/material/class.html.jinja index 4b4af7d63..17f694734 100644 --- a/docs/templates/python/material/class.html.jinja +++ b/docs/templates/python/material/class.html.jinja @@ -3,18 +3,17 @@ {% block heading scoped %} {% block alias_anchors scoped %} {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %} - {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} - {% if not loop.first %} - {%- set alias_id = alias.target_module + "." + alias.alias_name -%} - {% filter heading( - heading_level+9, - role="class", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} - {% endif %} + {%- set public_aliases = class.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} + {% for alias in public_aliases[1:] -%} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + 9, + role="class", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -32,15 +31,16 @@ {% block contents scoped %} {% block aliases scoped %} {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %} -

- Aliases: {% for alias in class.extra.hopsworks_apigen.aliases if alias.is_public -%} - {% if not loop.first %} + {%- set public_aliases = class.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} + {% if public_aliases and public_aliases[1:] %} +

+ Aliases: {% for alias in public_aliases[1:] -%} {%- set fullpath = alias.target_module + "." + alias.alias_name -%} {{fullpath}} {%- if not loop.last %}, {% endif %} - {% endif %} - {%- endfor %} -

+ {%- endfor %} +

+ {% endif %} {% endif %} {% endblock aliases %} diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index a202f0973..0462ff6fa 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -3,18 +3,17 @@ {% block heading scoped %} {% block alias_anchors scoped %} {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %} - {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} - {% if not loop.first %} - {%- set alias_id = alias.target_module + "." + alias.alias_name -%} - {% filter heading( - heading_level+9, - role="function", - id=alias_id, - class="doc doc-heading", - hidden=true, - skip_inventory=config.skip_local_inventory, - ) -%}{%- endfilter %} - {% endif %} + {%- set public_aliases = function.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} + {% for alias in public_aliases[1:] -%} + {%- set alias_id = alias.target_module + "." + alias.alias_name -%} + {% filter heading( + 9, + role="function", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} {%- endfor %} {% endif %} {% endblock alias_anchors %} @@ -32,15 +31,16 @@ {% block contents scoped %} {% block aliases scoped %} {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %} -

- Aliases: {% for alias in function.extra.hopsworks_apigen.aliases if alias.is_public -%} - {% if not loop.first %} + {%- set public_aliases = function.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} + {% if public_aliases and public_aliases[1:] %} +

+ Aliases: {% for alias in public_aliases[1:] -%} {%- set fullpath = alias.target_module + "." + alias.alias_name -%} {{fullpath}} {%- if not loop.last %}, {% endif %} - {% endif %} - {%- endfor %} -

+ {%- endfor %} +

+ {% endif %} {% endif %} {% endblock aliases %} From 55452914786b505126c6d422561c89e1fbc1befd Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 4 Feb 2026 13:09:28 +0100 Subject: [PATCH 6/7] Fix anchors --- docs/templates/python/material/class.html.jinja | 3 +-- docs/templates/python/material/function.html.jinja | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/templates/python/material/class.html.jinja b/docs/templates/python/material/class.html.jinja index 17f694734..025bcfc1d 100644 --- a/docs/templates/python/material/class.html.jinja +++ b/docs/templates/python/material/class.html.jinja @@ -3,8 +3,7 @@ {% block heading scoped %} {% block alias_anchors scoped %} {% if class.extra.hopsworks_apigen and class.extra.hopsworks_apigen.aliases %} - {%- set public_aliases = class.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} - {% for alias in public_aliases[1:] -%} + {% for alias in class.extra.hopsworks_apigen.aliases -%} {%- set alias_id = alias.target_module + "." + alias.alias_name -%} {% filter heading( 9, diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index 0462ff6fa..c6c494d54 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -3,8 +3,7 @@ {% block heading scoped %} {% block alias_anchors scoped %} {% if function.extra.hopsworks_apigen and function.extra.hopsworks_apigen.aliases %} - {%- set public_aliases = function.extra.hopsworks_apigen.aliases | selectattr("is_public") | list -%} - {% for alias in public_aliases[1:] -%} + {% for alias in function.extra.hopsworks_apigen.aliases -%} {%- set alias_id = alias.target_module + "." + alias.alias_name -%} {% filter heading( 9, From c282e617e47112ca56cdc1f0ba0df18a33a4dc8b Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 6 Feb 2026 15:31:53 +0100 Subject: [PATCH 7/7] Add ruff and respect aliases of methods too --- docs/templates/python/material/function.html.jinja | 13 +++++++++++++ requirements-docs.txt | 1 + 2 files changed, 14 insertions(+) diff --git a/docs/templates/python/material/function.html.jinja b/docs/templates/python/material/function.html.jinja index c6c494d54..494f3e379 100644 --- a/docs/templates/python/material/function.html.jinja +++ b/docs/templates/python/material/function.html.jinja @@ -15,6 +15,19 @@ ) -%}{%- endfilter %} {%- endfor %} {% endif %} + {% if function.parent and function.parent.extra.hopsworks_apigen and function.parent.extra.hopsworks_apigen.aliases %} + {% for alias in function.parent.extra.hopsworks_apigen.aliases -%} + {%- set alias_id = alias.target_module + "." + alias.alias_name + "." + function.name -%} + {% filter heading( + 9, + role="function", + id=alias_id, + class="doc doc-heading", + hidden=true, + skip_inventory=config.skip_local_inventory, + ) -%}{%- endfilter %} + {%- endfor %} + {% endif %} {% endblock alias_anchors %} {% block source_link scoped %} diff --git a/requirements-docs.txt b/requirements-docs.txt index 426d9e472..ad8d20e1e 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -7,4 +7,5 @@ mkdocs-minify-plugin>=0.2.0 hopsworks-apigen@git+https://github.com/aversey/hopsworks-aliases.git mkdocstrings[python]==1.0.0 mkdocstrings-python==2.0.1 +ruff==0.15.0 linkchecker