From 22da734d4686063226fd1186073efcfc53c8d91c Mon Sep 17 00:00:00 2001 From: Mikkel Svartveit Date: Wed, 29 May 2024 18:58:12 +0200 Subject: [PATCH] Improve meta tags --- src/components/HeadContent.astro | 45 +++++++++++++++++++++++++++ src/layouts/BaseLayout.astro | 35 ++++++++++++--------- src/layouts/RootLayout.astro | 42 ------------------------- src/pages/404.astro | 2 +- src/pages/articles/[article].astro | 7 +++-- src/pages/articles/index.astro | 5 ++- src/pages/photography/[photo].astro | 39 +++++++++++++---------- src/pages/photography/index.astro | 5 ++- src/pages/programming/[project].astro | 8 +++-- src/pages/programming/index.astro | 5 ++- 10 files changed, 112 insertions(+), 81 deletions(-) create mode 100644 src/components/HeadContent.astro delete mode 100644 src/layouts/RootLayout.astro diff --git a/src/components/HeadContent.astro b/src/components/HeadContent.astro new file mode 100644 index 0000000..388909a --- /dev/null +++ b/src/components/HeadContent.astro @@ -0,0 +1,45 @@ +--- +import { ViewTransitions } from "astro:transitions"; + +interface Props { + title?: string; + description?: string; + image?: string; + themeColor?: string; +} + +const { title, description, image, themeColor } = Astro.props; + +const fullTitle = title ? `${title} – Mikkel Svartveit` : "Mikkel Svartveit"; +const defaultDescription = + "Hi, I'm Mikkel! I am a Computer Science student from Norway and this is my playground. Here you will find some articles, programming projects, and a small collection of photos I'm proud of."; +const defaultImage = "/favicon.png"; +--- + + + + + + + + + +{fullTitle} + + + + + + + + + + + + + + + diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index 3d0a612..e72c83e 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -1,23 +1,30 @@ --- import Navbar from "@components/Navbar.svelte"; -import RootLayout from "./RootLayout.astro"; +import HeadContent from "@components/HeadContent.astro"; interface Props { - title?: string; - description?: string; noStickyNavbar?: boolean; } -const { title, description, noStickyNavbar } = Astro.props; +const { noStickyNavbar } = Astro.props; --- - - -
- -
-
+ + + + + + + + + + +
+ +
+ + diff --git a/src/layouts/RootLayout.astro b/src/layouts/RootLayout.astro deleted file mode 100644 index 8b9da3b..0000000 --- a/src/layouts/RootLayout.astro +++ /dev/null @@ -1,42 +0,0 @@ ---- -import { ViewTransitions } from "astro:transitions"; - -interface Props { - title?: string; - description?: string; - hideScrollbar?: boolean; - themeColor?: string; -} - -const { title, description, hideScrollbar, themeColor } = Astro.props; - -const fullTitle = `${title ? title + " – " : ""}Mikkel Svartveit`; ---- - - - - - {fullTitle} - - - - - - - - - - - - - - - - diff --git a/src/pages/404.astro b/src/pages/404.astro index 6c9809a..63b9486 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -4,7 +4,7 @@ import BaseLayout from "../layouts/BaseLayout.astro"; import NotFoundImage from "../assets/images/404.jpeg"; --- - +

{ const blogCollection = await getCollection("blog"); @@ -19,11 +20,13 @@ export const getStaticPaths = (async () => { const project = Astro.props.entry; const { Content, headings } = await project.render(); -const { date, intro } = project.data; +const { date, intro, image } = project.data; const title = headings[0].text; --- - + + +

diff --git a/src/pages/articles/index.astro b/src/pages/articles/index.astro index bd23a4c..1dbee64 100644 --- a/src/pages/articles/index.astro +++ b/src/pages/articles/index.astro @@ -5,11 +5,14 @@ import ContainerLayout from "@layouts/ContainerLayout.astro"; import BaseLayout from "@layouts/BaseLayout.astro"; import TextContentLayout from "@layouts/TextContentLayout.astro"; import { getCollection } from "astro:content"; +import Head from "@components/HeadContent.astro"; const articles = await getCollection("blog"); --- - + + +

{ const photos = await Astro.glob("../../assets/photos/*"); @@ -20,20 +21,24 @@ export const getStaticPaths = (async () => { const { photo } = Astro.props; --- - -
- -
-
+ + + + + + +
+ +
+ + diff --git a/src/pages/photography/index.astro b/src/pages/photography/index.astro index ba175f7..80bb2e6 100644 --- a/src/pages/photography/index.astro +++ b/src/pages/photography/index.astro @@ -4,6 +4,7 @@ import ContainerLayout from "@layouts/ContainerLayout.astro"; import BaseLayout from "@layouts/BaseLayout.astro"; import TextContentLayout from "@layouts/TextContentLayout.astro"; import { Image } from "astro:assets"; +import HeadContent from "@components/HeadContent.astro"; const photos = await Astro.glob("../../assets/photos/*"); @@ -21,7 +22,9 @@ export const getFileNameFromPath = (path: string) => { }; --- - + + +

{ const programmingEntries = await getCollection("programming"); @@ -18,10 +19,13 @@ export const getStaticPaths = (async () => { const project = Astro.props.entry; const { Content } = await project.render(); -const { title, date, technologies, website, repository } = project.data; +const { title, description, image, date, technologies, website, repository } = + project.data; --- - + + +

+ + +