116 lines
4 KiB
Text
116 lines
4 KiB
Text
---
|
|
// Import the global.css file here so that it is included on
|
|
// all pages through the use of the <BaseHead /> component.
|
|
import "../styles/global.css";
|
|
import ubuntuRegularWoff2 from "@fontsource/ubuntu/files/ubuntu-latin-400-normal.woff2?url";
|
|
import ubuntuBoldWoff2 from "@fontsource/ubuntu/files/ubuntu-latin-700-normal.woff2?url";
|
|
import "@fontsource/fira-sans";
|
|
|
|
interface Props {
|
|
title: string;
|
|
description: string;
|
|
image?: string;
|
|
}
|
|
|
|
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
|
|
|
|
const { title, description, image = "/blog-placeholder-1.jpg" } = Astro.props;
|
|
---
|
|
|
|
<!-- Global Metadata -->
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
<link rel="manifest" href="/site.webmanifest" />
|
|
<meta name="generator" content={Astro.generator} />
|
|
|
|
<!-- Font preloads, keep them even if it throws a warning for not using them due to the system providing them -->
|
|
<link
|
|
rel="preload"
|
|
href={ubuntuRegularWoff2}
|
|
as="font"
|
|
type="font/woff2"
|
|
crossorigin
|
|
/>
|
|
<link
|
|
rel="preload"
|
|
href={ubuntuBoldWoff2}
|
|
as="font"
|
|
type="font/woff2"
|
|
crossorigin
|
|
/>
|
|
|
|
<!-- Canonical URL -->
|
|
<link rel="canonical" href={canonicalURL} />
|
|
|
|
<!-- Primary Meta Tags -->
|
|
<title>{title}</title>
|
|
<meta name="title" content={title} />
|
|
<meta name="description" content={description} />
|
|
|
|
<!-- Open Graph / Facebook -->
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:url" content={Astro.url} />
|
|
<meta property="og:title" content={title} />
|
|
<meta property="og:description" content={description} />
|
|
<meta property="og:image" content={new URL(image, Astro.url)} />
|
|
|
|
<!-- Twitter -->
|
|
<meta property="twitter:card" content="summary_large_image" />
|
|
<meta property="twitter:url" content={Astro.url} />
|
|
<meta property="twitter:title" content={title} />
|
|
<meta property="twitter:description" content={description} />
|
|
<meta property="twitter:image" content={new URL(image, Astro.url)} />
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Person",
|
|
"name": "Alexander Daichendt",
|
|
"email": "jsonld@daichendt.one",
|
|
"url": "https://daichendt.one/",
|
|
"image": "https://daichendt.one/files/alexdaichendt.jpg",
|
|
"sameAs": ["https://github.com/alexdaichendt"],
|
|
"jobTitle": "IT Consultant",
|
|
"worksFor": {
|
|
"@type": "Organization",
|
|
"name": "Freelance"
|
|
},
|
|
"alumniOf": {
|
|
"@type": "CollegeOrUniversity",
|
|
"name": "Technical University Munich"
|
|
},
|
|
"nationality": {
|
|
"@type": "Country",
|
|
"name": "Germany"
|
|
},
|
|
"description": "Privacy-first software engineer passionate about building efficient, user-friendly, and data-respectful web applications. Experienced in Rust, Node.js, and more, delivering scalable, standards-compliant solutions with a focus on usability.",
|
|
"hasCredential": {
|
|
"@context": "https://schema.org",
|
|
"@type": "EducationalOccupationalCredential",
|
|
"credentialCategory": "Master's degree",
|
|
"name": "Master of Science in Informatics",
|
|
"description": "Graduate degree awarded for completing the Master of Science program in Informatics at the Technical University of Munich.",
|
|
"educationalLevel": "Master's",
|
|
"recognizedBy": {
|
|
"@type": "CollegeOrUniversity",
|
|
"name": "Technical University of Munich",
|
|
"url": "https://www.tum.de"
|
|
},
|
|
"awardedBy": {
|
|
"@type": "CollegeOrUniversity",
|
|
"name": "Technical University of Munich",
|
|
"url": "https://www.tum.de"
|
|
},
|
|
"subjectOf": {
|
|
"@type": "EducationalProgram",
|
|
"name": "Informatics",
|
|
"url": "https://www.in.tum.de/en/for-prospective-students/masters-programs/informatics-msc/"
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<script src="https://rybbit.shiverpeak.xyz/api/script.js" data-site-id="1" defer
|
|
></script>
|