From a0beae19ca6ad3d7e8dbfb4d8b97f8e2a81ad93a Mon Sep 17 00:00:00 2001 From: Foster Hangdaan <foster@hangdaan.email> Date: Sat, 5 Aug 2023 12:20:31 -0400 Subject: [PATCH] Accept meta and links data in base layout This allows you to add custom `<meta/>` and `<links/>` tags inside the document's `<head>`. --- _includes/layouts/base.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/_includes/layouts/base.tsx b/_includes/layouts/base.tsx index 56b7968..dd3da68 100644 --- a/_includes/layouts/base.tsx +++ b/_includes/layouts/base.tsx @@ -1,4 +1,4 @@ -export default function({ title, description, children, comp }) { +export default function({ title, description, children, comp, metas, links }) { return ( <html lang="en-CA"> <head> @@ -10,12 +10,18 @@ export default function({ title, description, children, comp }) { <meta name="color-scheme" content="dark light"/> <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1a1b26"/> <meta name="theme-color" media="(prefers-color-scheme: light)" content="#d5d6db"/> + {Array.isArray(metas) && metas.length > 0 && + metas.map(m => <meta name={m.name} content={m.content}/>) + } <link rel="stylesheet" href="/styles/main.css"/> <link rel="icon" type="image/png" href="/icons/tabicon-16.png" sizes="16x16" /> <link rel="icon" type="image/png" href="/icons/tabicon-32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="/icons/tabicon-96.png" sizes="96x96" /> <link rel="icon" type="image/png" href="/icons/tabicon-128.png" sizes="128x128" /> <link rel="icon" type="image/png" href="/icons/tabicon-196.png" sizes="196x196" /> + {Array.isArray(links) && links.length > 0 && + links.map(l => <link rel={l.rel} href={l.href} type={l.type} title={l.title}/>) + } </head> <body> { comp.navbar() }