From 4bd75008210fc26e643c7592c3baa42333f67716 Mon Sep 17 00:00:00 2001 From: rushdarshan Date: Sun, 29 Mar 2026 00:15:16 +0530 Subject: [PATCH 1/4] 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/"' ); } --- From 5ac84d401063b4fdcd654020b95be5e06ddf63a8 Mon Sep 17 00:00:00 2001 From: rushdarshan Date: Mon, 6 Apr 2026 19:51:53 +0530 Subject: [PATCH 2/4] fix(people): replace placeholder portrait alt text --- src/content/people/en/kenneth-lim.yaml | 2 +- src/content/people/en/stalgia-grigg.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/people/en/kenneth-lim.yaml b/src/content/people/en/kenneth-lim.yaml index bdfb3434a6..ff71798914 100644 --- a/src/content/people/en/kenneth-lim.yaml +++ b/src/content/people/en/kenneth-lim.yaml @@ -2,7 +2,7 @@ name: Kenneth Lim url: https://limzykenneth.com/ category: mentor image: ../images/kenneth-lim.jpeg -imageAlt: WRITE ALT TEXT HERE +imageAlt: Portrait of Kenneth Lim role: p5.js Mentor, 2023-present order: 4 blurb: > diff --git a/src/content/people/en/stalgia-grigg.yaml b/src/content/people/en/stalgia-grigg.yaml index fe200380e5..f88ebf35dc 100644 --- a/src/content/people/en/stalgia-grigg.yaml +++ b/src/content/people/en/stalgia-grigg.yaml @@ -1,7 +1,7 @@ name: Stalgia Grigg category: alumni image: ../images/stalgia-grigg.png -imageAlt: WRITE ALT TEXT HERE +imageAlt: Portrait of Stalgia Grigg url: https://stalgiagrigg.name/ role: p5.js Fellow 2019 order: 9 From ba70b111975bf5a84c98576aae8388459c1e5c60 Mon Sep 17 00:00:00 2001 From: rushdarshan Date: Mon, 6 Apr 2026 20:16:07 +0530 Subject: [PATCH 3/4] fix(sketches): enable OpenProcessing embed rendering with proper sandbox attributes --- src/components/ScalingIframe/index.tsx | 48 ++++++++++++++++++++++++++ src/layouts/SketchLayout.astro | 3 ++ 2 files changed, 51 insertions(+) diff --git a/src/components/ScalingIframe/index.tsx b/src/components/ScalingIframe/index.tsx index 1d79b66c25..e2e55c9d1a 100644 --- a/src/components/ScalingIframe/index.tsx +++ b/src/components/ScalingIframe/index.tsx @@ -9,6 +9,8 @@ export const ScalingIframe = ({ }) => { const iframeRef = useRef(null); const [scale, setScale] = useState(1); + const [error, setError] = useState(false); + useLayoutEffect(() => { const fitToParent = () => { const iframe = iframeRef.current; @@ -24,10 +26,56 @@ export const ScalingIframe = ({ return () => window.removeEventListener("resize", fitToParent); }, [width]); + const handleError = () => { + setError(true); + }; + + if (error) { + return ( +
+
+

Unable to load embedded content

+

+ Please visit{" "} + + the original sketch + + {" "}on OpenProcessing +

+
+
+ ); + } + return (