From a0dfb51b7a75764b2fb34107829222813681261d Mon Sep 17 00:00:00 2001 From: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> Date: Tue, 28 Oct 2025 14:39:34 +0100 Subject: [PATCH] feat: show page path breadcrumbs in Docusaurus --- packages/website/docs/templates.mdx | 12 +++++++----- .../website/versioned_docs/version-v3/templates.mdx | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/website/docs/templates.mdx b/packages/website/docs/templates.mdx index b6185ed4a..720ea3a8b 100644 --- a/packages/website/docs/templates.mdx +++ b/packages/website/docs/templates.mdx @@ -296,12 +296,14 @@ new Crawler({ pathsToMatch: ['https://YOUR_WEBSITE_URL/**'], recordExtractor: ({ $, helpers }) => { // priority order: deepest active sub list header -> navbar active item -> 'Documentation' + // Extracting the breadcrumb titles for better accessibility. + const navbarTitle = $(".navbar__item.navbar__link--active").text(); + const pageBreadcrumbTitles = $(".breadcrumbs__link") + .toArray() + .map((item) => $(item).text().trim()) + .filter(Boolean); const lvl0 = - $( - '.menu__link.menu__link--sublist.menu__link--active, .navbar__item.navbar__link--active' - ) - .last() - .text() || 'Documentation'; + [navbarTitle, ...pageBreadcrumbTitles].join(" / ") || "Documentation"; return helpers.docsearch({ recordProps: { diff --git a/packages/website/versioned_docs/version-v3/templates.mdx b/packages/website/versioned_docs/version-v3/templates.mdx index b6185ed4a..720ea3a8b 100644 --- a/packages/website/versioned_docs/version-v3/templates.mdx +++ b/packages/website/versioned_docs/version-v3/templates.mdx @@ -296,12 +296,14 @@ new Crawler({ pathsToMatch: ['https://YOUR_WEBSITE_URL/**'], recordExtractor: ({ $, helpers }) => { // priority order: deepest active sub list header -> navbar active item -> 'Documentation' + // Extracting the breadcrumb titles for better accessibility. + const navbarTitle = $(".navbar__item.navbar__link--active").text(); + const pageBreadcrumbTitles = $(".breadcrumbs__link") + .toArray() + .map((item) => $(item).text().trim()) + .filter(Boolean); const lvl0 = - $( - '.menu__link.menu__link--sublist.menu__link--active, .navbar__item.navbar__link--active' - ) - .last() - .text() || 'Documentation'; + [navbarTitle, ...pageBreadcrumbTitles].join(" / ") || "Documentation"; return helpers.docsearch({ recordProps: {