From 4bd75008210fc26e643c7592c3baa42333f67716 Mon Sep 17 00:00:00 2001 From: rushdarshan Date: Sun, 29 Mar 2026 00:15:16 +0530 Subject: [PATCH] fix: normalize p5 reference links in parameter sections Fixes #674 The regex in normalizeP5ReferenceLinks() was capturing the 'p5' prefix in the capture group, causing duplicate 'p5' in URLs. Before: #/p5/rectMode -> /reference/p5/p5/rectMode/ (broken) After: #/p5/rectMode -> /reference/p5/rectMode/ (fixed) Updated regex to exclude 'p5' from capture group while still handling both dot notation (#/p5.Element) and slash notation (#/p5/rectMode) patterns. --- src/layouts/ReferenceItemLayout.astro | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layouts/ReferenceItemLayout.astro b/src/layouts/ReferenceItemLayout.astro index 49fab87dda..208d991075 100644 --- a/src/layouts/ReferenceItemLayout.astro +++ b/src/layouts/ReferenceItemLayout.astro @@ -90,13 +90,13 @@ const { showBanner, englishUrl } = checkTranslationBanner( Astro.url.pathname, Astro.url.origin ); -// Normalizes malformed p5.* reference anchors (e.g. "#/p5.Element") -// to proper reference routes ("/reference/p5/p5.Element/") +// Normalizes malformed p5.* reference anchors (e.g. "#/p5.Element" or "#/p5/rectMode") +// to proper reference routes ("/reference/p5/p5.Element/" or "/reference/p5/rectMode/") function normalizeP5ReferenceLinks(html: string | undefined): string | undefined { if (!html) return html; return html.replace( - /href="#\/(p5\.[^"]+)"/g, - 'href="/reference/p5/$1/"' + /href="#\/p5([.\/][^"]+)"/g, + 'href="/reference/p5$1/"' ); } ---