diff --git a/src/layouts/ReferenceItemLayout.astro b/src/layouts/ReferenceItemLayout.astro
index 70d8b63ede..46216b732d 100644
--- a/src/layouts/ReferenceItemLayout.astro
+++ b/src/layouts/ReferenceItemLayout.astro
@@ -150,12 +150,13 @@ const descriptionParts = description.split(
examples && (
{t("Examples")}
- {examples.map(({ src: exampleCode, classes }, i: number) => {
+ {examples.map(({ src: exampleCode, classes, meta }, i: number) => {
+ const previewable = !classes.norender && !meta.includes('norender');
return (
) =>
* @returns The examples separated into individual strings
*/
// separateReferenceExamples
-export const parseReferenceExamplesAndMetadata = (examples: string[]): { src: string, classes: Record }[] =>
+export const parseReferenceExamplesAndMetadata = (examples: string[]): {
+ src: string,
+ classes: Record,
+ meta: string[]
+}[] =>
examples
?.flatMap((example: string) => example.split(""))
.map((src: string) => {
@@ -210,7 +214,18 @@ export const parseReferenceExamplesAndMetadata = (examples: string[]): { src: st
}
return { classes, src }
})
- .map(({ src, classes }) => ({ classes, src: src.replace(/<\/?div[^>]*>|<\/?code>/g, "") }))
+ .map(({ src, classes }) => {
+ const metaMatch = src.match(/^\/\/ META:(.+)/);
+ let meta: string[] = [];
+ if(metaMatch !== null){
+ meta = metaMatch?.[1].split(",") ?? [];
+ }
+ return {
+ classes,
+ src: src.replace(/<\/?div[^>]*>|<\/?code>/g, "").replace(/^\/\/ META:(.+)/, ""),
+ meta
+ };
+ })
.filter(({ src }) => src);
/**