Add page types, index components, and layout

This commit is contained in:
itsfinniii
2026-03-20 16:40:21 +01:00
parent cb4cb9e578
commit 4bb3fa3671
8 changed files with 258 additions and 42 deletions

View File

@@ -2,6 +2,11 @@
import '@/styles/global.css';
import { getSettings } from "@/content/settings/settings";
interface Props {
settings: WebpageLayoutProps;
}
const pageSettings = Astro.props.settings.searchEngine;
const settings = await getSettings();
---
@@ -9,45 +14,43 @@ const settings = await getSettings();
<head>
<!-- High Priority Metadata -->
<meta charset="utf-8" />
<meta name="lanuage" content="EN" />
<meta name="lanuage" content="en" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width" />
<meta name="theme-color" content={settings.website.colors.primary} />
<!-- High Priority Page Metadata -->
<title>{settings.website.titleTemplate.replaceAll("%T", "")}</title>
<title>{settings.website.titleTemplate.replaceAll("%T", pageSettings.title)}</title>
<!-- Medium Priority Metadata -->
<meta name="msapplication-TileColor" content={settings.website.colors.primary} />
<meta name="msapplication-TileImage" content="" />
<link rel="sitemap" href="/sitemap/index.xml" />
<link rel="alternate" type="application/rss+xml" href="/rss.xml" title="RSS" />
<link rel="canonical" href={`${settings.website.domainName}/`}>
<link rel="canonical" href={`${settings.website.domainName}/`} />
<meta name="robots" content="index,follow" />
<!-- Low Priority Page Metadata -->
<meta name="description" content="" />
<meta name="description" content={pageSettings.description} />
<meta property="og:type" content="website" />
<meta property="og:locale" content="en-GB" />
<meta property="og:title" content={settings.website.titleTemplate.replaceAll("%T", "")} />
<meta property="og:description" content="" />
<meta property="og:image:url" content="" />
<meta property="og:image:alt" content="" />
<meta property="og:description" content={pageSettings.description} />
<meta property="og:image:url" content={pageSettings.thumbnail.url} />
<meta property="og:url" content={`${settings.website.domainName}${Astro.url.pathname}`} />
<meta property="og:site_name" content={settings.website.applicationName} />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={settings.website.titleTemplate.replaceAll("%T", "")} />
<meta name="twitter:description" content="" />
<meta name="twitter:image" content="" />
<meta name="twitter:image:alt" content="" />
<meta name="twitter:description" content={pageSettings.description} />
<meta name="twitter:image" content={pageSettings.thumbnail.url} />
<meta name="twitter:url" content={`${settings.website.domainName}${Astro.url.pathname}`} />
<meta name="twitter:site" content={settings.website.twitter.handle} />
<meta name="twitter:creator" content={settings.website.twitter.handle} />
<meta name="pagename" content="" />
<meta name="pagename" content={pageSettings.title} />
<meta name="category" content="webpage" />
<!-- Low Priority Metadata -->
@@ -59,6 +62,6 @@ const settings = await getSettings();
<meta name="application-name" content={settings.website.applicationName} />
</head>
<body>
<slot />
<slot name="content" />
</body>
</html>