---
// Import the global.css file here so that it is included on
// all pages through the use of the component.
import '../styles/global.css';
import type { ImageMetadata } from 'astro';
import DefaultOGImage from '../assets/nicholai-medium-portrait.jpg';
import { SITE_TITLE, SITE_DESCRIPTION, SOCIAL_LINKS } from '../consts';
interface Props {
title: string;
description: string;
image?: ImageMetadata;
type?: 'website' | 'article';
publishedTime?: Date;
modifiedTime?: Date;
}
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
const {
title,
description,
image = DefaultOGImage,
type = 'website',
publishedTime,
modifiedTime,
} = Astro.props;
// Structured Data - Person Schema (optimized for rich results)
const personSchema = {
"@context": "https://schema.org",
"@type": "Person",
"@id": "https://nicholai.work/#person",
"name": "Nicholai Vogel",
"givenName": "Nicholai",
"familyName": "Vogel",
"url": "https://nicholai.work",
"email": SOCIAL_LINKS.email,
"image": new URL(DefaultOGImage.src, Astro.site).toString(),
"jobTitle": "VFX Supervisor",
"description": "VFX Supervisor and Houdini Artist specializing in commercial and music video visual effects",
"worksFor": {
"@type": "Organization",
"name": "Biohazard VFX",
"url": "https://biohazardvfx.com"
},
"knowsAbout": [
"Visual Effects",
"VFX Supervision",
"Compositing",
"Houdini",
"SideFX Houdini",
"Nuke",
"The Foundry Nuke",
"3D Animation",
"AI/ML Integration",
"Motion Graphics",
"Commercial VFX",
"Music Video VFX"
],
"sameAs": [
"https://instagram.com/nicholai.exe/",
SOCIAL_LINKS.linkedin,
"https://biohazardvfx.com"
],
"alumniOf": [],
"award": []
};
// Structured Data - WebSite Schema with potential search action
const websiteSchema = {
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://nicholai.work/#website",
"name": SITE_TITLE,
"description": SITE_DESCRIPTION,
"url": "https://nicholai.work",
"inLanguage": "en-US",
"author": {
"@id": "https://nicholai.work/#person"
},
"publisher": {
"@id": "https://nicholai.work/#person"
}
};
// Structured Data - Professional Service (helps with local/service searches)
const professionalServiceSchema = {
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://nicholai.work/#service",
"name": "Nicholai Vogel - VFX Services",
"description": "Professional visual effects services including VFX supervision, Houdini FX, compositing, and AI integration for commercials and music videos",
"url": "https://nicholai.work",
"provider": {
"@id": "https://nicholai.work/#person"
},
"areaServed": "Worldwide",
"serviceType": ["VFX Supervision", "Visual Effects", "Compositing", "3D Animation", "Motion Graphics"]
};
---
{title}
{publishedTime && }
{modifiedTime && }