Compare commits

..

10 commits

Author SHA1 Message Date
Obsidian Sync
6334dadf92 Add cache-busting query param to OG images
Some checks failed
Deploy to Netlify / deploy (push) Has been cancelled
2026-02-25 23:36:13 +05:30
Obsidian Sync
22ab2221fd Move date up slightly 2026-02-25 23:33:55 +05:30
Obsidian Sync
d3a1f68045 Regenerate OG images with dates 2026-02-25 22:55:23 +05:30
Obsidian Sync
92a2dccd91 Make date text brighter and larger 2026-02-25 22:41:08 +05:30
Obsidian Sync
1332ffbffa Fix: properly account for date line in box height 2026-02-25 19:56:47 +05:30
Obsidian Sync
475a05fd03 Add date above title in OG images 2026-02-25 19:37:31 +05:30
Obsidian Sync
77b33e837d Fix twitter:url to use pretty URL, add trailing slash 2026-02-25 19:33:42 +05:30
Obsidian Sync
95302075ef Remove [...id].astro, use _redirects 200 proxy 2026-02-25 19:31:09 +05:30
Obsidian Sync
8d707b6683 Fix canonical URL for blog posts to use pretty URL format 2026-02-25 19:29:16 +05:30
Obsidian Sync
462b941b71 Fix og:url and canonical to use pretty URL when available 2026-02-25 19:26:17 +05:30
16 changed files with 13 additions and 5 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Before After
Before After

View file

@ -21,6 +21,14 @@ interface Props {
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
// For blog posts with date-slug format, show pretty URL in og:url/canonical
// This handles both direct /slug access and proxy /blog/slug access
const pathParts = Astro.url.pathname.split('/').filter(Boolean);
const blogPostMatch = pathParts[0] === 'blog' ? pathParts[1] : pathParts[0];
const isBlogPost = blogPostMatch?.match(/^\d{4}-\d{2}-\d{2}-/);
const finalCanonicalPath = isBlogPost ? `/${blogPostMatch}/` : Astro.url.pathname;
const finalCanonicalURL = new URL(finalCanonicalPath, Astro.site);
const { title, description, image = "/astro-micro.jpg" } = Astro.props;
---
@ -35,7 +43,7 @@ const { title, description, image = "/astro-micro.jpg" } = Astro.props;
<meta name="generator" content={Astro.generator} />
<!-- Canonical URL -->
<link rel="canonical" href={canonicalURL} />
<link rel="canonical" href={finalCanonicalURL} />
<!-- Primary Meta Tags -->
<title>{title}</title>
@ -44,17 +52,17 @@ const { title, description, image = "/astro-micro.jpg" } = Astro.props;
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content={Astro.url} />
<meta property="og:url" content={finalCanonicalURL} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(image, Astro.url)} />
<meta property="og:image" content={new URL(image + '?v=2', Astro.url)} />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:url" content={finalCanonicalURL} />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={new URL(image, Astro.url)} />
<meta property="twitter:image" content={new URL(image + '?v=2', Astro.url)} />
<!-- PageFind -->
<link href="/pagefind/pagefind-ui.css" rel="stylesheet" />