From 15273cd6f73c31e228919e0cd2929d7ac4cd2a74 Mon Sep 17 00:00:00 2001 From: Arik Chakma Date: Mon, 18 Aug 2025 14:20:23 +0600 Subject: [PATCH] wip --- src/lib/open-graph.ts | 25 +++++++++++++++++-- src/pages/ai-data-scientist/career-path.astro | 13 +++++++--- src/pages/ai-data-scientist/lifecycle.astro | 13 +++++++--- src/pages/ai-data-scientist/skills.astro | 13 +++++++--- src/pages/ai-data-scientist/tools.astro | 13 +++++++--- src/pages/ai-data-scientist/vs-ai.astro | 13 +++++++--- .../vs-business-analytics.astro | 13 +++++++--- .../vs-computer-science.astro | 13 +++++++--- .../ai-data-scientist/vs-cyber-security.astro | 13 +++++++--- .../ai-data-scientist/vs-data-analytics.astro | 13 +++++++--- .../vs-data-engineering.astro | 13 +++++++--- .../vs-machine-learning.astro | 13 +++++++--- .../vs-software-engineering.astro | 13 +++++++--- .../ai-data-scientist/vs-statistics.astro | 13 +++++++--- src/pages/backend/developer-skills.astro | 13 +++++++--- src/pages/backend/developer-tools.astro | 13 +++++++--- src/pages/backend/frameworks.astro | 13 +++++++--- src/pages/backend/job-description.astro | 13 +++++++--- src/pages/backend/languages.astro | 13 +++++++--- src/pages/backend/project-ideas.astro | 13 +++++++--- src/pages/backend/technologies.astro | 13 +++++++--- src/pages/data-analyst/career-path.astro | 13 +++++++--- src/pages/data-analyst/how-to-become.astro | 13 +++++++--- src/pages/data-analyst/vs-data-engineer.astro | 13 +++++++--- src/pages/devops/automation-tools.astro | 13 +++++++--- src/pages/devops/automation.astro | 13 +++++++--- src/pages/devops/best-practices.astro | 13 +++++++--- src/pages/devops/career-path.astro | 13 +++++++--- src/pages/devops/devops-engineer.astro | 13 +++++++--- src/pages/devops/devops-vs-sre.astro | 13 +++++++--- .../how-to-become-devops-engineer.astro | 13 +++++++--- src/pages/devops/job-description.astro | 13 +++++++--- src/pages/devops/lifecycle.astro | 13 +++++++--- src/pages/devops/principles.astro | 13 +++++++--- src/pages/devops/shift-left-testing.astro | 13 +++++++--- src/pages/devops/skills.astro | 13 +++++++--- src/pages/devops/test-automation.astro | 13 +++++++--- src/pages/devops/tools.astro | 13 +++++++--- src/pages/devops/vs-agile.astro | 13 +++++++--- src/pages/devops/vs-developer.astro | 13 +++++++--- src/pages/devops/vs-devsecops.astro | 13 +++++++--- src/pages/devops/vs-full-stack.astro | 13 +++++++--- src/pages/frontend/developer-skills.astro | 13 +++++++--- src/pages/frontend/frameworks.astro | 13 +++++++--- .../how-to-become-frontend-developer.astro | 13 +++++++--- src/pages/frontend/job-description.astro | 13 +++++++--- src/pages/frontend/languages.astro | 13 +++++++--- src/pages/frontend/technologies.astro | 13 +++++++--- .../frontend/web-developer-portfolio.astro | 13 +++++++--- src/pages/full-stack/developer-skills.astro | 13 +++++++--- src/pages/full-stack/how-to-become.astro | 13 +++++++--- src/pages/full-stack/job-description.astro | 13 +++++++--- src/pages/full-stack/vs-backend.astro | 13 +++++++--- .../full-stack/vs-software-engineer.astro | 13 +++++++--- src/pages/golang/rest-api.astro | 13 +++++++--- src/pages/golang/vs-java.astro | 13 +++++++--- src/pages/java/developer-skills.astro | 13 +++++++--- src/pages/java/vs-javascript.astro | 13 +++++++--- src/pages/java/vs-python.astro | 13 +++++++--- src/pages/javascript/vs-typescript.astro | 13 +++++++--- src/pages/og/guide/[slug].ts | 10 ++++++-- src/pages/sql/hard-to-learn.astro | 13 +++++++--- src/pages/sql/how-long-to-learn.astro | 13 +++++++--- src/pages/sql/vs-mysql.astro | 13 +++++++--- src/pages/sql/vs-python.astro | 14 +++++++---- 65 files changed, 598 insertions(+), 257 deletions(-) diff --git a/src/lib/open-graph.ts b/src/lib/open-graph.ts index b4debfe7a..020753fcb 100644 --- a/src/lib/open-graph.ts +++ b/src/lib/open-graph.ts @@ -3,8 +3,22 @@ type RoadmapOpenGraphQuery = { resourceId: string; }; -export function getOpenGraphImageUrl(params: RoadmapOpenGraphQuery) { - return `${import.meta.env.DEV ? 'http://localhost:3000' : 'https://roadmap.sh'}/og/${params.group}/${params.resourceId}`; +export function getOpenGraphImageUrl( + params: RoadmapOpenGraphQuery, + query?: Record, +) { + const baseUrl = import.meta.env.DEV + ? 'http://localhost:3000' + : 'https://roadmap.sh'; + + const url = new URL(`${baseUrl}/og/${params.group}/${params.resourceId}`); + if (query) { + Object.entries(query).forEach(([key, value]) => { + url.searchParams.set(key, value); + }); + } + + return String(url); } export async function getDefaultOpenGraphImageBuffer() { @@ -15,11 +29,18 @@ export async function getDefaultOpenGraphImageBuffer() { export async function getResourceOpenGraph( type: 'roadmap' | 'guide' | 'best-practice', resourceId: string, + query?: Record, ) { const url = new URL(`${import.meta.env.PUBLIC_API_URL}/v1-open-graph`); url.searchParams.set('type', type); url.searchParams.set('resourceId', resourceId); url.searchParams.set('variant', 'image'); + if (query) { + Object.entries(query).forEach(([key, value]) => { + url.searchParams.set(key, value); + }); + } + const response = await fetch(url.toString()); return response.text(); diff --git a/src/pages/ai-data-scientist/career-path.astro b/src/pages/ai-data-scientist/career-path.astro index aa3a97c6f..68fb79834 100644 --- a/src/pages/ai-data-scientist/career-path.astro +++ b/src/pages/ai-data-scientist/career-path.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/lifecycle.astro b/src/pages/ai-data-scientist/lifecycle.astro index dfebe1135..0cc58d4c1 100644 --- a/src/pages/ai-data-scientist/lifecycle.astro +++ b/src/pages/ai-data-scientist/lifecycle.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/skills.astro b/src/pages/ai-data-scientist/skills.astro index 7451f5750..75cb8c2ef 100644 --- a/src/pages/ai-data-scientist/skills.astro +++ b/src/pages/ai-data-scientist/skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/tools.astro b/src/pages/ai-data-scientist/tools.astro index fe6c3dc98..4ffc8a4f1 100644 --- a/src/pages/ai-data-scientist/tools.astro +++ b/src/pages/ai-data-scientist/tools.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-ai.astro b/src/pages/ai-data-scientist/vs-ai.astro index d17ad2c6e..af34cf9c5 100644 --- a/src/pages/ai-data-scientist/vs-ai.astro +++ b/src/pages/ai-data-scientist/vs-ai.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-business-analytics.astro b/src/pages/ai-data-scientist/vs-business-analytics.astro index e2d899091..e690c20d2 100644 --- a/src/pages/ai-data-scientist/vs-business-analytics.astro +++ b/src/pages/ai-data-scientist/vs-business-analytics.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-computer-science.astro b/src/pages/ai-data-scientist/vs-computer-science.astro index 7d633397d..ba88bc0ae 100644 --- a/src/pages/ai-data-scientist/vs-computer-science.astro +++ b/src/pages/ai-data-scientist/vs-computer-science.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-cyber-security.astro b/src/pages/ai-data-scientist/vs-cyber-security.astro index 2cf17a29c..ca4a82b16 100644 --- a/src/pages/ai-data-scientist/vs-cyber-security.astro +++ b/src/pages/ai-data-scientist/vs-cyber-security.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-data-analytics.astro b/src/pages/ai-data-scientist/vs-data-analytics.astro index 9b09c0b52..16f86c445 100644 --- a/src/pages/ai-data-scientist/vs-data-analytics.astro +++ b/src/pages/ai-data-scientist/vs-data-analytics.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-data-engineering.astro b/src/pages/ai-data-scientist/vs-data-engineering.astro index 3d23de45b..6bade66c7 100644 --- a/src/pages/ai-data-scientist/vs-data-engineering.astro +++ b/src/pages/ai-data-scientist/vs-data-engineering.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-machine-learning.astro b/src/pages/ai-data-scientist/vs-machine-learning.astro index e492f5850..a11fa7833 100644 --- a/src/pages/ai-data-scientist/vs-machine-learning.astro +++ b/src/pages/ai-data-scientist/vs-machine-learning.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-software-engineering.astro b/src/pages/ai-data-scientist/vs-software-engineering.astro index 6248d6be6..047c60674 100644 --- a/src/pages/ai-data-scientist/vs-software-engineering.astro +++ b/src/pages/ai-data-scientist/vs-software-engineering.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/ai-data-scientist/vs-statistics.astro b/src/pages/ai-data-scientist/vs-statistics.astro index c99b09fa8..a6519e48f 100644 --- a/src/pages/ai-data-scientist/vs-statistics.astro +++ b/src/pages/ai-data-scientist/vs-statistics.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/developer-skills.astro b/src/pages/backend/developer-skills.astro index 63ca4b875..d1df705d2 100644 --- a/src/pages/backend/developer-skills.astro +++ b/src/pages/backend/developer-skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/developer-tools.astro b/src/pages/backend/developer-tools.astro index b71d34920..e238b51ae 100644 --- a/src/pages/backend/developer-tools.astro +++ b/src/pages/backend/developer-tools.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/frameworks.astro b/src/pages/backend/frameworks.astro index 64f7cb2f6..ad8db0673 100644 --- a/src/pages/backend/frameworks.astro +++ b/src/pages/backend/frameworks.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/job-description.astro b/src/pages/backend/job-description.astro index b1d2c0e28..45830b753 100644 --- a/src/pages/backend/job-description.astro +++ b/src/pages/backend/job-description.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/languages.astro b/src/pages/backend/languages.astro index 5111c4249..7b59f0779 100644 --- a/src/pages/backend/languages.astro +++ b/src/pages/backend/languages.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/project-ideas.astro b/src/pages/backend/project-ideas.astro index b3f0e0009..f479f1a60 100644 --- a/src/pages/backend/project-ideas.astro +++ b/src/pages/backend/project-ideas.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/backend/technologies.astro b/src/pages/backend/technologies.astro index b0a12759f..fd5c83c16 100644 --- a/src/pages/backend/technologies.astro +++ b/src/pages/backend/technologies.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/data-analyst/career-path.astro b/src/pages/data-analyst/career-path.astro index e5d06342f..dbb836206 100644 --- a/src/pages/data-analyst/career-path.astro +++ b/src/pages/data-analyst/career-path.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/data-analyst/how-to-become.astro b/src/pages/data-analyst/how-to-become.astro index 9e6e9b5b1..f70f68459 100644 --- a/src/pages/data-analyst/how-to-become.astro +++ b/src/pages/data-analyst/how-to-become.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/data-analyst/vs-data-engineer.astro b/src/pages/data-analyst/vs-data-engineer.astro index 2cca00cb3..599ae6f7b 100644 --- a/src/pages/data-analyst/vs-data-engineer.astro +++ b/src/pages/data-analyst/vs-data-engineer.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/automation-tools.astro b/src/pages/devops/automation-tools.astro index f6a2c2507..de497a978 100644 --- a/src/pages/devops/automation-tools.astro +++ b/src/pages/devops/automation-tools.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/automation.astro b/src/pages/devops/automation.astro index 1fda13d5a..91808c3e5 100644 --- a/src/pages/devops/automation.astro +++ b/src/pages/devops/automation.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/best-practices.astro b/src/pages/devops/best-practices.astro index c12bdd063..b89c7935a 100644 --- a/src/pages/devops/best-practices.astro +++ b/src/pages/devops/best-practices.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/career-path.astro b/src/pages/devops/career-path.astro index 3a9678945..271fe831f 100644 --- a/src/pages/devops/career-path.astro +++ b/src/pages/devops/career-path.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/devops-engineer.astro b/src/pages/devops/devops-engineer.astro index f5eea49e3..46ff3c405 100644 --- a/src/pages/devops/devops-engineer.astro +++ b/src/pages/devops/devops-engineer.astro @@ -12,10 +12,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/devops-vs-sre.astro b/src/pages/devops/devops-vs-sre.astro index ff7c00687..4736db3f3 100644 --- a/src/pages/devops/devops-vs-sre.astro +++ b/src/pages/devops/devops-vs-sre.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/how-to-become-devops-engineer.astro b/src/pages/devops/how-to-become-devops-engineer.astro index 60b34e7c9..ec5c13705 100644 --- a/src/pages/devops/how-to-become-devops-engineer.astro +++ b/src/pages/devops/how-to-become-devops-engineer.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/job-description.astro b/src/pages/devops/job-description.astro index 266f08903..c4d5cda93 100644 --- a/src/pages/devops/job-description.astro +++ b/src/pages/devops/job-description.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/lifecycle.astro b/src/pages/devops/lifecycle.astro index 20e5a512c..71a2e4800 100644 --- a/src/pages/devops/lifecycle.astro +++ b/src/pages/devops/lifecycle.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/principles.astro b/src/pages/devops/principles.astro index 0ff7ae8b8..7f51e02b1 100644 --- a/src/pages/devops/principles.astro +++ b/src/pages/devops/principles.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/shift-left-testing.astro b/src/pages/devops/shift-left-testing.astro index 3b8a15b99..40b2b1106 100644 --- a/src/pages/devops/shift-left-testing.astro +++ b/src/pages/devops/shift-left-testing.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/skills.astro b/src/pages/devops/skills.astro index 3ce2c1df9..a58148156 100644 --- a/src/pages/devops/skills.astro +++ b/src/pages/devops/skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/test-automation.astro b/src/pages/devops/test-automation.astro index 9ec30b444..26f1c9ed9 100644 --- a/src/pages/devops/test-automation.astro +++ b/src/pages/devops/test-automation.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/tools.astro b/src/pages/devops/tools.astro index cbab7c78a..3a2d7c5b0 100644 --- a/src/pages/devops/tools.astro +++ b/src/pages/devops/tools.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/vs-agile.astro b/src/pages/devops/vs-agile.astro index 7353d5c77..e0d6999da 100644 --- a/src/pages/devops/vs-agile.astro +++ b/src/pages/devops/vs-agile.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/vs-developer.astro b/src/pages/devops/vs-developer.astro index 6b2b51be8..a21f2a74b 100644 --- a/src/pages/devops/vs-developer.astro +++ b/src/pages/devops/vs-developer.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/vs-devsecops.astro b/src/pages/devops/vs-devsecops.astro index 4fd5c9c6d..a4002dcf3 100644 --- a/src/pages/devops/vs-devsecops.astro +++ b/src/pages/devops/vs-devsecops.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/devops/vs-full-stack.astro b/src/pages/devops/vs-full-stack.astro index c1bee0320..fb5317af4 100644 --- a/src/pages/devops/vs-full-stack.astro +++ b/src/pages/devops/vs-full-stack.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/developer-skills.astro b/src/pages/frontend/developer-skills.astro index a87e1178f..9c4c9b515 100644 --- a/src/pages/frontend/developer-skills.astro +++ b/src/pages/frontend/developer-skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/frameworks.astro b/src/pages/frontend/frameworks.astro index db4814399..da1a0e835 100644 --- a/src/pages/frontend/frameworks.astro +++ b/src/pages/frontend/frameworks.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/how-to-become-frontend-developer.astro b/src/pages/frontend/how-to-become-frontend-developer.astro index 3f027263c..f05699d71 100644 --- a/src/pages/frontend/how-to-become-frontend-developer.astro +++ b/src/pages/frontend/how-to-become-frontend-developer.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/job-description.astro b/src/pages/frontend/job-description.astro index dd2f09e67..9bf5d6bba 100644 --- a/src/pages/frontend/job-description.astro +++ b/src/pages/frontend/job-description.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/languages.astro b/src/pages/frontend/languages.astro index bc2b0cbca..5451b15c2 100644 --- a/src/pages/frontend/languages.astro +++ b/src/pages/frontend/languages.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/technologies.astro b/src/pages/frontend/technologies.astro index d984361fa..f50a77fac 100644 --- a/src/pages/frontend/technologies.astro +++ b/src/pages/frontend/technologies.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/frontend/web-developer-portfolio.astro b/src/pages/frontend/web-developer-portfolio.astro index 6678df95a..afef41851 100644 --- a/src/pages/frontend/web-developer-portfolio.astro +++ b/src/pages/frontend/web-developer-portfolio.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/full-stack/developer-skills.astro b/src/pages/full-stack/developer-skills.astro index 334447526..b3c780026 100644 --- a/src/pages/full-stack/developer-skills.astro +++ b/src/pages/full-stack/developer-skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/full-stack/how-to-become.astro b/src/pages/full-stack/how-to-become.astro index b9b9e3c4d..17c6b17bd 100644 --- a/src/pages/full-stack/how-to-become.astro +++ b/src/pages/full-stack/how-to-become.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/full-stack/job-description.astro b/src/pages/full-stack/job-description.astro index 29f189793..048df6c29 100644 --- a/src/pages/full-stack/job-description.astro +++ b/src/pages/full-stack/job-description.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/full-stack/vs-backend.astro b/src/pages/full-stack/vs-backend.astro index c4819a680..863d98469 100644 --- a/src/pages/full-stack/vs-backend.astro +++ b/src/pages/full-stack/vs-backend.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/full-stack/vs-software-engineer.astro b/src/pages/full-stack/vs-software-engineer.astro index df3eda974..f0f937921 100644 --- a/src/pages/full-stack/vs-software-engineer.astro +++ b/src/pages/full-stack/vs-software-engineer.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/golang/rest-api.astro b/src/pages/golang/rest-api.astro index 606408e0e..d56c2d0dd 100644 --- a/src/pages/golang/rest-api.astro +++ b/src/pages/golang/rest-api.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/golang/vs-java.astro b/src/pages/golang/vs-java.astro index 20016ffed..ab472d9c6 100644 --- a/src/pages/golang/vs-java.astro +++ b/src/pages/golang/vs-java.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/java/developer-skills.astro b/src/pages/java/developer-skills.astro index 06dbcc625..857ea1dfc 100644 --- a/src/pages/java/developer-skills.astro +++ b/src/pages/java/developer-skills.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/java/vs-javascript.astro b/src/pages/java/vs-javascript.astro index 7bcc471bf..092a874d1 100644 --- a/src/pages/java/vs-javascript.astro +++ b/src/pages/java/vs-javascript.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/java/vs-python.astro b/src/pages/java/vs-python.astro index 5dd4b271a..6b4fdba93 100644 --- a/src/pages/java/vs-python.astro +++ b/src/pages/java/vs-python.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/javascript/vs-typescript.astro b/src/pages/javascript/vs-typescript.astro index b7d74e8e7..ec7e653d8 100644 --- a/src/pages/javascript/vs-typescript.astro +++ b/src/pages/javascript/vs-typescript.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/og/guide/[slug].ts b/src/pages/og/guide/[slug].ts index 947d023d1..ee35a7ba0 100644 --- a/src/pages/og/guide/[slug].ts +++ b/src/pages/og/guide/[slug].ts @@ -3,7 +3,7 @@ import { getDefaultOpenGraphImageBuffer, getResourceOpenGraph, } from '../../../lib/open-graph'; -import {Transformer} from "@napi-rs/image"; +import { Transformer } from '@napi-rs/image'; export const prerender = false; @@ -13,6 +13,7 @@ type Params = { export const GET: APIRoute = async (context) => { const { slug } = context.params; + const { searchParams } = context.url; if (!slug) { const buffer = await getDefaultOpenGraphImageBuffer(); @@ -23,9 +24,14 @@ export const GET: APIRoute = async (context) => { }); } - const svg = await getResourceOpenGraph('guide', slug); + const svg = await getResourceOpenGraph( + 'guide', + slug, + Object.fromEntries(searchParams.entries()), + ); const transformer = Transformer.fromSvg(svg).crop(0, 0, 1200, 630); + // @ts-expect-error - Buffer is not assignable to BodyInit return new Response(await transformer.png(), { headers: { 'Content-Type': 'image/png', diff --git a/src/pages/sql/hard-to-learn.astro b/src/pages/sql/hard-to-learn.astro index e33652363..de4936381 100644 --- a/src/pages/sql/hard-to-learn.astro +++ b/src/pages/sql/hard-to-learn.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/sql/how-long-to-learn.astro b/src/pages/sql/how-long-to-learn.astro index 47cfa82e6..04b76ef72 100644 --- a/src/pages/sql/how-long-to-learn.astro +++ b/src/pages/sql/how-long-to-learn.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/sql/vs-mysql.astro b/src/pages/sql/vs-mysql.astro index 4e6f39ce7..7ef6b77ee 100644 --- a/src/pages/sql/vs-mysql.astro +++ b/src/pages/sql/vs-mysql.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- diff --git a/src/pages/sql/vs-python.astro b/src/pages/sql/vs-python.astro index 6aebf61c0..6f01709e7 100644 --- a/src/pages/sql/vs-python.astro +++ b/src/pages/sql/vs-python.astro @@ -10,10 +10,15 @@ const guide = await getOfficialGuide(guideId, roadmapId); const ogImageUrl = guide?.seo?.ogImageUrl || - getOpenGraphImageUrl({ - group: 'guide', - resourceId: guideId, - }); + getOpenGraphImageUrl( + { + group: 'guide', + resourceId: guideId, + }, + { + roadmapId, + }, + ); const permalink = `/${roadmapId}/${guideId}`; --- @@ -28,4 +33,3 @@ const permalink = `/${roadmapId}/${guideId}`;
-