Update opengraph results and meta tags

This commit is contained in:
Timothy Pidashev
2025-01-13 12:01:03 -08:00
parent 844c8d49d4
commit 05844b2446
8 changed files with 58 additions and 12 deletions

BIN
src/public/og-image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -8,19 +8,30 @@ import Background from "@/components/background";
export interface Props {
title: string;
description: string;
permalink: string;
current?: string;
}
const { title, description, permalink, current } = Astro.props;
const { title, description } = Astro.props;
const ogImage = "https://timmypidashev.dev/og-image.jpg";
---
<html lang="en">
<head>
<title>{title}</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<!-- OpenGraph -->
<meta property="og:image" content={ogImage} />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content={ogImage} />
<meta name="twitter:description" content={description} />
<!-- Basic meta description for search engines -->
<meta name="description" content={description} />
<!-- Also used in OpenGraph for social media sharing -->
<meta property="og:description" content={description} />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>{title}</title>
<ClientRouter
defaultTransition={false}
handleFocus={false}

View File

@@ -8,15 +8,35 @@ import { ClientRouter } from "astro:transitions";
import Header from "@/components/header";
import Footer from "@/components/footer";
import Background from "@/components/background";
export interface Props {
title: string;
description: string;
}
const { title, description } = Astro.props;
const ogImage = "https://timmypidashev.dev/og-image.jpg";
---
<html lang="en">
<head>
<head>
<title>{title}</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta name="viewport" content="width=device-width" />
<!-- OpenGraph -->
<meta property="og:image" content={ogImage} />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content={ogImage} />
<meta name="twitter:description" content={description} />
<!-- Basic meta description for search engines -->
<meta name="description" content={description} />
<!-- Also used in OpenGraph for social media sharing -->
<meta property="og:description" content={description} />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="sitemap" href="/sitemap-index.xml" />
<title>{content.title}</title>
<ClientRouter />
</head>
<body class="bg-background text-foreground">

View File

@@ -6,7 +6,10 @@ import Timeline from "@/components/about/timeline";
import CurrentFocus from "@/components/about/current-focus";
import OutsideCoding from "@/components/about/outside-coding";
---
<ContentLayout title="About | Timothy Pidashev">
<ContentLayout
title="About | Timothy Pidashev"
description="A software engineer passionate about the web, open source, and building innovative solutions."
>
<div class="min-h-screen">
<section class="h-screen flex items-center justify-center">
<Intro client:load />

View File

@@ -11,6 +11,9 @@ const posts = (await getCollection("blog", ({ data }) => {
);
---
<ContentLayout title="Blog | Timothy Pidashev">
<ContentLayout
title="Blog | Timothy Pidashev"
description="My experiences and technical insights into software development and the ever-evolving world of programming."
>
<BlogPostList posts={posts} client:load />
</ContentLayout>

View File

@@ -5,6 +5,9 @@ import IndexLayout from "@/layouts/index.astro";
import Hero from "@/components/hero";
---
<IndexLayout content={{ title: "Timothy Pidashev" }}>
<IndexLayout
title="Timothy Pidashev"
description="Turning coffee into code since 2018."
>
<Hero client:load />
</IndexLayout>

View File

@@ -10,6 +10,9 @@ const projects = (await getCollection("projects", ({ data }) => {
);
---
<ContentLayout title="Projects | Timothy Pidashev">
<ContentLayout
title="Projects | Timothy Pidashev"
description="My portfolio of software, including web apps, dev tools, and passion projects."
>
<ProjectList projects={projects} client:load />
</ContentLayout>

View File

@@ -5,7 +5,10 @@ import ContentLayout from "@/layouts/content.astro";
import Resume from "@/components/resume";
---
<ContentLayout title="Resume | Timothy Pidashev">
<ContentLayout
title="Resume | Timothy Pidashev"
description = "My professional experience, skills, and development journey in software engineering."
>
<div class="flex items-center justify-center w-full">
<Resume client:load />
</div>