add opengraph tags
Some checks failed
deploy / build-and-deploy (/testvaro, /opt/website-test, website-test) (push) Failing after 9s
deploy / build-and-deploy (/varo, /opt/website, website) (push) Failing after 16s

This commit is contained in:
2025-06-09 19:24:11 +02:00
parent ed43212d9c
commit acb74e3d29
3 changed files with 10 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,16 +1,18 @@
--- ---
import { ClientRouter } from 'astro:transitions'; import { ClientRouter } from 'astro:transitions';
import { BASE_PATH } from 'astro:env/server'; import { BASE_PATH } from 'astro:env/server';
import logo512 from '../assets/img/logo-512.png';
import favicon from '../assets/favicon.png'; import favicon from '../assets/favicon.png';
interface Props { interface Props {
title: string; title: string;
description?: string; description?: string;
keywords?: string[]; keywords?: string[];
openGraph?: boolean;
viewTransition?: boolean; viewTransition?: boolean;
} }
const { title, description, keywords, viewTransition } = Astro.props; const { title, description, keywords, openGraph, viewTransition } = Astro.props;
--- ---
<!doctype html> <!doctype html>
@ -21,7 +23,12 @@ const { title, description, keywords, viewTransition } = Astro.props;
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/png" href={favicon.src} /> <link rel="icon" type="image/png" href={favicon.src} />
<title>{title}</title> <title>{title}</title>
<meta name="og:title" content={title} /> {openGraph && (
<meta name="og:title" content={title} />
<meta property="og:url" content={Astro.url.pathname} />
<meta property="og:type" content="website" />
<meta property="og:image" content={logo512.src} />
)}
<meta name="description" content={description} /> <meta name="description" content={description} />
{keywords && <meta name="keywords" content={keywords.join(', ')} />} {keywords && <meta name="keywords" content={keywords.join(', ')} />}
<base href=`${BASE_PATH}/` /> <base href=`${BASE_PATH}/` />

View File

@ -14,7 +14,7 @@ interface Props {
const { title, description, footer = true } = Astro.props; const { title, description, footer = true } = Astro.props;
--- ---
<BaseLayout title={title} description={description} viewTransition> <BaseLayout title={title} description={description} openGraph={true} viewTransition>
<main class="min-h-[calc(100vh-3.5rem)] h-full w-full relative"> <main class="min-h-[calc(100vh-3.5rem)] h-full w-full relative">
<slot /> <slot />
</main> </main>