diff --git a/public/og-2024-01-06-why-does-every-guest-house-room-have-a-tv-screen.png b/public/og-2024-01-06-why-does-every-guest-house-room-have-a-tv-screen.png index 35ff96c..37ad644 100644 Binary files a/public/og-2024-01-06-why-does-every-guest-house-room-have-a-tv-screen.png and b/public/og-2024-01-06-why-does-every-guest-house-room-have-a-tv-screen.png differ diff --git a/public/og-2025-06-21-crowdsourcing-exam-problems.png b/public/og-2025-06-21-crowdsourcing-exam-problems.png index e843e80..673ad6d 100644 Binary files a/public/og-2025-06-21-crowdsourcing-exam-problems.png and b/public/og-2025-06-21-crowdsourcing-exam-problems.png differ diff --git a/public/og-2025-07-05-hypothetical-grading-policy.png b/public/og-2025-07-05-hypothetical-grading-policy.png index 05f221a..7eadb46 100644 Binary files a/public/og-2025-07-05-hypothetical-grading-policy.png and b/public/og-2025-07-05-hypothetical-grading-policy.png differ diff --git a/public/og-2025-07-09-math-human-flourishing-struggle.png b/public/og-2025-07-09-math-human-flourishing-struggle.png index 0c43160..8fda256 100644 Binary files a/public/og-2025-07-09-math-human-flourishing-struggle.png and b/public/og-2025-07-09-math-human-flourishing-struggle.png differ diff --git a/public/og-2025-07-17-teacher-training-initiative.png b/public/og-2025-07-17-teacher-training-initiative.png index 79d14de..3cd37d7 100644 Binary files a/public/og-2025-07-17-teacher-training-initiative.png and b/public/og-2025-07-17-teacher-training-initiative.png differ diff --git a/public/og-2025-07-21-capacities-pkm.png b/public/og-2025-07-21-capacities-pkm.png index 02107af..95a8202 100644 Binary files a/public/og-2025-07-21-capacities-pkm.png and b/public/og-2025-07-21-capacities-pkm.png differ diff --git a/public/og-2025-08-07-nptel-underrated.png b/public/og-2025-08-07-nptel-underrated.png index 1a2109f..e1c855a 100644 Binary files a/public/og-2025-08-07-nptel-underrated.png and b/public/og-2025-08-07-nptel-underrated.png differ diff --git a/public/og-2025-08-16-interactive-fiction-textbooks.png b/public/og-2025-08-16-interactive-fiction-textbooks.png index 6f496e5..a7c4ee3 100644 Binary files a/public/og-2025-08-16-interactive-fiction-textbooks.png and b/public/og-2025-08-16-interactive-fiction-textbooks.png differ diff --git a/public/og-2025-08-27-vibecoding-manim-slides.png b/public/og-2025-08-27-vibecoding-manim-slides.png index e80faea..a4aa377 100644 Binary files a/public/og-2025-08-27-vibecoding-manim-slides.png and b/public/og-2025-08-27-vibecoding-manim-slides.png differ diff --git a/public/og-2025-08-29-grok-a-book-new-editions.png b/public/og-2025-08-29-grok-a-book-new-editions.png index 02ccb12..2c9c768 100644 Binary files a/public/og-2025-08-29-grok-a-book-new-editions.png and b/public/og-2025-08-29-grok-a-book-new-editions.png differ diff --git a/public/og-2025-09-05-pocket-shutdown.png b/public/og-2025-09-05-pocket-shutdown.png index 976f76a..c4e8551 100644 Binary files a/public/og-2025-09-05-pocket-shutdown.png and b/public/og-2025-09-05-pocket-shutdown.png differ diff --git a/public/og-2025-09-23-ten-years-iitgn.png b/public/og-2025-09-23-ten-years-iitgn.png index 90a6604..1de8eff 100644 Binary files a/public/og-2025-09-23-ten-years-iitgn.png and b/public/og-2025-09-23-ten-years-iitgn.png differ diff --git a/public/og-2025-11-17-iisc-time-tracking.png b/public/og-2025-11-17-iisc-time-tracking.png index 94f7206..73915a7 100644 Binary files a/public/og-2025-11-17-iisc-time-tracking.png and b/public/og-2025-11-17-iisc-time-tracking.png differ diff --git a/public/og-2026-02-20-value-of-things-comment.png b/public/og-2026-02-20-value-of-things-comment.png index c8823bd..4350497 100644 Binary files a/public/og-2026-02-20-value-of-things-comment.png and b/public/og-2026-02-20-value-of-things-comment.png differ diff --git a/public/og-2026-02-25-mattermost-for-openclaw.png b/public/og-2026-02-25-mattermost-for-openclaw.png index 5acc2f8..522c2a3 100644 Binary files a/public/og-2026-02-25-mattermost-for-openclaw.png and b/public/og-2026-02-25-mattermost-for-openclaw.png differ diff --git a/src/components/Head.astro b/src/components/Head.astro index 79887db..7059e17 100644 --- a/src/components/Head.astro +++ b/src/components/Head.astro @@ -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; - +