From f854d32feb69a42587fcbe1daff313830bc84a0e Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 15 Jan 2026 00:03:02 +0100 Subject: [PATCH 1/2] Make driver projects use a standalone primary navigation --- CHANGES.rst | 1 + src/crate/theme/rtd/sidebartoc.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index d2f1b340..17036125 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,7 @@ CHANGES Unreleased ---------- +- Made driver projects use a standalone primary navigation 2026/01/14 0.47.0 ----------------- diff --git a/src/crate/theme/rtd/sidebartoc.py b/src/crate/theme/rtd/sidebartoc.py index 29218984..87e47cde 100644 --- a/src/crate/theme/rtd/sidebartoc.py +++ b/src/crate/theme/rtd/sidebartoc.py @@ -114,6 +114,15 @@ def _get_toctree(maxdepth=-1, titles_only=True, collapse=False): parts.append('') return ''.join(parts) + # Driver projects use a standalone primary navigation + if project in ['CrateDB JDBC', 'CrateDB Npgsql', 'CrateDB DBAL', 'CrateDB PDO', 'CrateDB Python', 'SQLAlchemy Dialect']: + current_class = ' class="current"' if pagename == master_doc else '' + parts.append(f'') + parts.append(f'Documentation') + parts.append(_get_toctree()) + parts.append('') + parts.append('') + return ''.join(parts) # Start CrateDB docs TOC with a Search box parts.append('
  • ') From 89d040b8c0a2f1aac2b122941dab56c9ca42828f Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 15 Jan 2026 00:03:16 +0100 Subject: [PATCH 2/2] Remove outmoded database drivers section --- CHANGES.rst | 1 + src/crate/theme/rtd/sidebartoc.py | 29 ----------------------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 17036125..e8e88209 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -6,6 +6,7 @@ CHANGES Unreleased ---------- - Made driver projects use a standalone primary navigation +- Removed outmoded database drivers section 2026/01/14 0.47.0 ----------------- diff --git a/src/crate/theme/rtd/sidebartoc.py b/src/crate/theme/rtd/sidebartoc.py index 87e47cde..44c5bff4 100644 --- a/src/crate/theme/rtd/sidebartoc.py +++ b/src/crate/theme/rtd/sidebartoc.py @@ -159,39 +159,10 @@ def _get_toctree(maxdepth=-1, titles_only=True, collapse=False): builder.add_project_nav_item('CrateDB: Crash CLI', 'CrateDB CLI', '/docs/crate/crash/') builder.add_project_nav_item('CrateDB Cloud: Croud CLI', 'Cloud CLI', '/docs/cloud/cli/') - # Add all Driver projects - # The
      must be inside the same
    • for CSS sibling selectors to work - _DRIVER_CONFIGS = [ - ('CrateDB JDBC', 'JDBC', '/docs/jdbc/'), - ('CrateDB DBAL', 'PHP DBAL', '/docs/dbal/'), - ('CrateDB PDO', 'PHP PDO', '/docs/pdo/'), - ('CrateDB Python', 'Python', '/docs/python/'), - ('SQLAlchemy Dialect', 'SQLAlchemy', '/docs/sqlalchemy-cratedb/'), - ] - driver_projects = [config[0] for config in _DRIVER_CONFIGS] - show_drivers = project in driver_projects or (project == 'CrateDB: Guide' and pagename.startswith('connect')) - - # Use data attribute to mark Database Drivers for auto-expansion - driver_marker = ' data-auto-expand="true"' if show_drivers else '' - # Add current class when viewing a driver page to make it bold - driver_class = 'current' if show_drivers else 'navleft-item' - driver_link_class = ' class="current-active"' if show_drivers else '' - parts.append(f'
    • ') - parts.append(f'Database Drivers') - # Furo will add has-children class and icon structure when it detects the
        - parts.append('
          ') - if show_drivers: - for proj_name, display_name, url in _DRIVER_CONFIGS: - builder.add_project_nav_item(proj_name, display_name, url) - parts.append('
        ') - parts.append('') - - # Add Support and Community links section after a border parts.append('') parts.append('') - # Other internal docs projects only included in special builds builder.add_project_nav_item('CrateDB documentation theme', 'Documentation theme', '', border_top=True, public_docs=False) builder.add_project_nav_item('Doing Docs', 'Doing Docs at CrateDB', '', public_docs=False)