From d53df4b898aaf467b2db721172408f84e6e8b3af Mon Sep 17 00:00:00 2001 From: itsfinniii <102350242+itsfinniii@users.noreply.github.com> Date: Fri, 20 Mar 2026 18:06:29 +0100 Subject: [PATCH] Add Blog and Project layouts with SEO metadata --- astro/src/layouts/BlogLayout.astro | 73 ++++++++++++++++++++++ astro/src/layouts/ProjectLayout.astro | 73 ++++++++++++++++++++++ astro/src/types/layouts/webpageLayout.d.ts | 5 ++ 3 files changed, 151 insertions(+) create mode 100644 astro/src/layouts/BlogLayout.astro create mode 100644 astro/src/layouts/ProjectLayout.astro diff --git a/astro/src/layouts/BlogLayout.astro b/astro/src/layouts/BlogLayout.astro new file mode 100644 index 0000000..5ca4adb --- /dev/null +++ b/astro/src/layouts/BlogLayout.astro @@ -0,0 +1,73 @@ +--- +import '@/styles/global.css'; +import { getSettings } from "@/content/settings/settings"; + +interface Props { + settings: BlogLayoutProps; +} + +const pageSettings = Astro.props.settings.searchEngine; +const settings = await getSettings(); +--- + + + + + + + + + + + + + + {settings.website.titleTemplate.replaceAll("%T", pageSettings.title)} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/astro/src/layouts/ProjectLayout.astro b/astro/src/layouts/ProjectLayout.astro new file mode 100644 index 0000000..5ca4adb --- /dev/null +++ b/astro/src/layouts/ProjectLayout.astro @@ -0,0 +1,73 @@ +--- +import '@/styles/global.css'; +import { getSettings } from "@/content/settings/settings"; + +interface Props { + settings: BlogLayoutProps; +} + +const pageSettings = Astro.props.settings.searchEngine; +const settings = await getSettings(); +--- + + + + + + + + + + + + + + {settings.website.titleTemplate.replaceAll("%T", pageSettings.title)} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/astro/src/types/layouts/webpageLayout.d.ts b/astro/src/types/layouts/webpageLayout.d.ts index 1b562c4..e75cca0 100644 --- a/astro/src/types/layouts/webpageLayout.d.ts +++ b/astro/src/types/layouts/webpageLayout.d.ts @@ -1,3 +1,8 @@ type WebpageLayoutProps = { searchEngine: SearchEngine; } + +type BlogLayoutProps = { + searchEngine: SearchEngine; + tags: string[] | null; +}