diff --git a/docs/app/reflex_docs/templates/docpage/docpage.py b/docs/app/reflex_docs/templates/docpage/docpage.py index 5ba080dcc8c..91d17863779 100644 --- a/docs/app/reflex_docs/templates/docpage/docpage.py +++ b/docs/app/reflex_docs/templates/docpage/docpage.py @@ -667,8 +667,8 @@ def breadcrumb(path: str, nav_sidebar: rx.Component, doc_content: str | None = N docs_sidebar_drawer, ) - # Split the path into segments, removing 'docs'. - segments = [segment for segment in path.split("/") if segment and segment != "docs"] + # Split the path into non-empty segments. + segments = [segment for segment in path.split("/") if segment] # Initialize an empty list to store the breadcrumbs and their separators breadcrumbs = [] diff --git a/docs/app/tests/test_breadcrumbs.py b/docs/app/tests/test_breadcrumbs.py index 30f122c80ad..8f31ff4edb9 100644 --- a/docs/app/tests/test_breadcrumbs.py +++ b/docs/app/tests/test_breadcrumbs.py @@ -30,3 +30,14 @@ def test_enterprise_parent_breadcrumb_uses_overview_route(monkeypatch): assert 'to:"/enterprise/overview/"' in rendered assert 'to:"/enterprise/ag-grid/"' in rendered assert 'to:"/enterprise/ag-grid/pivot-mode/"' in rendered + + +def test_breadcrumb_keeps_docs_segment_when_present_in_path(): + """Every non-empty path segment should produce a crumb, including 'docs'.""" + from reflex_docs.templates.docpage.docpage import breadcrumb + + rendered = str(breadcrumb("/docs/ai/integrations/", rx.box())) + + assert 'to:"/docs"' in rendered + assert 'to:"/docs/ai"' in rendered + assert 'to:"/docs/ai/integrations"' in rendered