diff --git a/docs/app/reflex_docs/templates/docpage/docpage.py b/docs/app/reflex_docs/templates/docpage/docpage.py index 96dfe4b5d6b..b797b8045c0 100644 --- a/docs/app/reflex_docs/templates/docpage/docpage.py +++ b/docs/app/reflex_docs/templates/docpage/docpage.py @@ -607,12 +607,8 @@ def breadcrumb(path: str, nav_sidebar: rx.Component, doc_content: str | None = N docs_sidebar_drawer, ) - # Split the path into segments, removing 'docs' and capitalizing each segment - segments = [ - segment.capitalize() - for segment in path.split("/") - if segment and segment != "docs" - ] + # Split the path into segments and capitalize each segment. + segments = [segment.capitalize() 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_breadcrumb.py b/docs/app/tests/test_breadcrumb.py new file mode 100644 index 00000000000..f008c2b5edd --- /dev/null +++ b/docs/app/tests/test_breadcrumb.py @@ -0,0 +1,19 @@ +"""Tests for docs breadcrumb rendering.""" + +import sys +from pathlib import Path + +import reflex as rx + +sys.path.append(str(Path(__file__).resolve().parent.parent)) + + +def test_breadcrumb_keeps_docs_segment_when_present_in_path(): + """Breadcrumb segment mapping should not special-case the docs segment.""" + from reflex_docs.templates.docpage.docpage import breadcrumb + + rendered = str(breadcrumb("/docs/ai/integrations/", rx.box())) + + assert "Docs" in rendered + assert "Ai" in rendered + assert "Integrations" in rendered