Kaynağa Gözat

docs: dynamic domain

Jay V 7 ay önce
ebeveyn
işleme
facd851b11

+ 1 - 0
infra/app.ts

@@ -39,6 +39,7 @@ new sst.cloudflare.x.Astro("Web", {
   domain,
   path: "packages/web",
   environment: {
+    // For astro config
     SST_STAGE: $app.stage,
     VITE_API_URL: api.url,
   },

+ 4 - 3
packages/web/astro.config.mjs

@@ -9,12 +9,13 @@ import { rehypeHeadingIds } from "@astrojs/markdown-remark"
 import rehypeAutolinkHeadings from "rehype-autolink-headings"
 
 const github = "https://github.com/sst/opencode"
-
-console.log("stage", process.env.SST_STAGE)
+const stage = process.env.SST_STAGE || "dev"
 
 // https://astro.build/config
 export default defineConfig({
-  site: config.url,
+  site: stage === "production"
+    ? `https://${config.domain}`
+    : `https://${stage}.${config.domain}`,
   output: "server",
   adapter: cloudflare({
     imageService: "passthrough",

+ 1 - 1
packages/web/config.mjs

@@ -1,5 +1,5 @@
 export default {
-  url: "https://opencode.ai",
+  domain: "opencode.ai",
   socialCard: "https://social-cards.sst.dev",
   github: "https://github.com/sst/opencode",
   discord: "https://discord.gg/opencode",

+ 1 - 1
packages/web/src/components/Head.astro

@@ -13,7 +13,7 @@ const {
 const isDocs = slug.startsWith("docs")
 
 let encodedTitle = '';
-let ogImage = `${config.url}/social-share.png`;
+let ogImage = `https://${config.domain}/social-share.png`;
 let truncatedDesc = '';
 
 if (isDocs) {