mirror of
https://github.com/timmypidashev/web.git
synced 2026-04-14 11:03:50 +00:00
Update opengraph results and meta tags
This commit is contained in:
BIN
src/public/og-image.jpg
Normal file
BIN
src/public/og-image.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
@@ -8,19 +8,30 @@ import Background from "@/components/background";
|
|||||||
export interface Props {
|
export interface Props {
|
||||||
title: string;
|
title: string;
|
||||||
description: 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">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
|
<title>{title}</title>
|
||||||
<meta charset="utf-8" />
|
<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="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<title>{title}</title>
|
|
||||||
<ClientRouter
|
<ClientRouter
|
||||||
defaultTransition={false}
|
defaultTransition={false}
|
||||||
handleFocus={false}
|
handleFocus={false}
|
||||||
|
|||||||
@@ -8,15 +8,35 @@ import { ClientRouter } from "astro:transitions";
|
|||||||
import Header from "@/components/header";
|
import Header from "@/components/header";
|
||||||
import Footer from "@/components/footer";
|
import Footer from "@/components/footer";
|
||||||
import Background from "@/components/background";
|
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">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
|
<title>{title}</title>
|
||||||
<meta charset="utf-8" />
|
<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="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<link rel="sitemap" href="/sitemap-index.xml" />
|
<link rel="sitemap" href="/sitemap-index.xml" />
|
||||||
<title>{content.title}</title>
|
|
||||||
<ClientRouter />
|
<ClientRouter />
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-background text-foreground">
|
<body class="bg-background text-foreground">
|
||||||
|
|||||||
@@ -6,7 +6,10 @@ import Timeline from "@/components/about/timeline";
|
|||||||
import CurrentFocus from "@/components/about/current-focus";
|
import CurrentFocus from "@/components/about/current-focus";
|
||||||
import OutsideCoding from "@/components/about/outside-coding";
|
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">
|
<div class="min-h-screen">
|
||||||
<section class="h-screen flex items-center justify-center">
|
<section class="h-screen flex items-center justify-center">
|
||||||
<Intro client:load />
|
<Intro client:load />
|
||||||
|
|||||||
@@ -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 />
|
<BlogPostList posts={posts} client:load />
|
||||||
</ContentLayout>
|
</ContentLayout>
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ import IndexLayout from "@/layouts/index.astro";
|
|||||||
import Hero from "@/components/hero";
|
import Hero from "@/components/hero";
|
||||||
---
|
---
|
||||||
|
|
||||||
<IndexLayout content={{ title: "Timothy Pidashev" }}>
|
<IndexLayout
|
||||||
|
title="Timothy Pidashev"
|
||||||
|
description="Turning coffee into code since 2018."
|
||||||
|
>
|
||||||
<Hero client:load />
|
<Hero client:load />
|
||||||
</IndexLayout>
|
</IndexLayout>
|
||||||
|
|||||||
@@ -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 />
|
<ProjectList projects={projects} client:load />
|
||||||
</ContentLayout>
|
</ContentLayout>
|
||||||
|
|||||||
@@ -5,7 +5,10 @@ import ContentLayout from "@/layouts/content.astro";
|
|||||||
import Resume from "@/components/resume";
|
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">
|
<div class="flex items-center justify-center w-full">
|
||||||
<Resume client:load />
|
<Resume client:load />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user