diff --git a/src/components/ReferenceDirectoryWithFilter/index.tsx b/src/components/ReferenceDirectoryWithFilter/index.tsx index d288850035..59a9d72c28 100644 --- a/src/components/ReferenceDirectoryWithFilter/index.tsx +++ b/src/components/ReferenceDirectoryWithFilter/index.tsx @@ -38,13 +38,21 @@ type ReferenceDirectoryWithFilterProps = { * @returns One-line description */ const getOneLineDescription = (description: string): string => { - // Matches until the first ., ?, !, ।, or 。 followed by a space - const fullStopRegex = /.*?(?:\.\s|\?\s|!\s|।\s|。\s)/; - const cleanedDescription = description - .replace(/<[^>]*>?/gm, "") - .replace(/\n/g, " "); - const [oneLineDescription] = cleanedDescription.match(fullStopRegex) ?? []; - return `${oneLineDescription?.trim() ?? cleanedDescription}`; + // Matches first paragraph tag, remove HTML tags, then trim to first fullstop + const firstParagraphRegex = /^
(.*?)<\/p>/; + let [oneLineDescription] = description.replace(/\n/g, " ").trim() + .match(firstParagraphRegex) ?? []; + + if(oneLineDescription){ + oneLineDescription = oneLineDescription + .replace(/^
|<\/p>$/g, "")
+ .replace(/<\/?code>/g, "")
+ .replace(/(\d+?)(\d+?)<\/sup><\/var>/g, "$1^$2")
+ .replace(/|<\/a>/g, "")
+ .split(/\.\s|\?\s|!\s|।\s|。/)[0];
+ }
+
+ return oneLineDescription ?? "";
};
export const ReferenceDirectoryWithFilter = ({
diff --git a/src/content/reference/en/p5/createP.mdx b/src/content/reference/en/p5/createP.mdx
index c7998ad8f0..851e7ded92 100644
--- a/src/content/reference/en/p5/createP.mdx
+++ b/src/content/reference/en/p5/createP.mdx
@@ -4,7 +4,7 @@ module: DOM
submodule: DOM
file: src/dom/dom.js
description: >
- Creates a Creates a paragraph element. element.
elements are commonly used for paragraph-length
text.