From b41d293bfcec01190dbf20c67714dd838d3863fa Mon Sep 17 00:00:00 2001 From: Victor Trofin Date: Wed, 29 Apr 2026 22:42:54 +0900 Subject: [PATCH] get vercel url --- src/helpers/meta_tags.ts | 14 ++++++++------ src/vite-env.d.ts | 2 ++ vite.config.ts | 10 ++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/helpers/meta_tags.ts b/src/helpers/meta_tags.ts index 1d0a4b0..70ec364 100644 --- a/src/helpers/meta_tags.ts +++ b/src/helpers/meta_tags.ts @@ -1,6 +1,8 @@ import type { ProjectName } from "@/globals"; import { projectDataBySlug } from "@/data/projects"; +const baseUrl = __SITE_URL__; + const jsonLdScriptsPerson = { type: "application/ld+json", innerHTML: JSON.stringify({ @@ -8,15 +10,15 @@ const jsonLdScriptsPerson = { "@type": "Person", name: "Victor Trofin", jobTitle: "Web Engineer", - url: "https://trofin.me", + url: baseUrl, sameAs: ["https://github.com/vtrofin"], }), }; const homePageOgData = [ - { property: "og:url", content: "https://trofin.me" }, + { property: "og:url", content: baseUrl }, { property: "og:type", content: "website" }, - { property: "og:image", content: "https://trofin.me/og_image.jpg" }, + { property: "og:image", content: `${baseUrl}/og_image.jpg` }, ]; const metaTags = { @@ -84,7 +86,7 @@ const metaTags = { const metaTitle = `Victor Trofin — ${projectData.title} project`; const metaDescription = `Full-stack web engineer for ${projectData.title} - ${projectData.excerpt}`; const metaKeywords = techStack.trim().substring(0, 160); - const url = `https://trofin.me/projects/${slug}`; + const url = `${baseUrl}/projects/${slug}`; return { title: metaTitle, @@ -98,7 +100,7 @@ const metaTags = { { property: "og:description", content: metaDescription }, { property: "og:url", content: url }, { property: "og:type", content: "website" }, - { property: "og:image", content: "https://trofin.me/og_image.jpg" }, + { property: "og:image", content: `${baseUrl}/og_image.jpg` }, ], script: [ { @@ -112,7 +114,7 @@ const metaTags = { author: { "@type": "Person", name: "Victor Trofin", - url: "https://trofin.me", + url: baseUrl, }, }), }, diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 11f02fe..e66dd5c 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1 +1,3 @@ /// + +declare const __SITE_URL__: string; diff --git a/vite.config.ts b/vite.config.ts index d8ce971..7d101e3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,9 +4,19 @@ import tsconfigPaths from "vite-tsconfig-paths"; import { allProjects } from "./src/globals"; import { type RouteRecordRaw } from "vue-router"; +const siteUrl = + process.env.VERCEL_PROJECT_PRODUCTION_URL + ? `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}` + : process.env.VERCEL_URL + ? `https://${process.env.VERCEL_URL}` + : `https://${process.env.VITE_APP_DOMAIN || "localhost:3000"}`; + // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue(), tsconfigPaths({ loose: true })], + define: { + __SITE_URL__: JSON.stringify(siteUrl), + }, resolve: { extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], },