Commit b1a835a

HPCesia <me@hpcesia.com>
2026-09-16 10:23:59
Export website metas from config.ts
1 parent 51bb180
Changed files (2)
src/config.ts
@@ -8,3 +8,13 @@ export const SITE_CONFIG: SiteConfig = {
   timeZone: "Etc/UTC",
   locale: "en",
 };
+
+const protocol = SITE_CONFIG.website.split("://")[0];
+const host = SITE_CONFIG.website.split("://")[1].split("/")[0];
+const basePath = SITE_CONFIG.website.split(host).slice(1).join("/") ||
+  undefined;
+export const WEBSITE = {
+  protocol,
+  host,
+  basePath,
+};
astro.config.ts
@@ -4,19 +4,15 @@ import sitemap from "@astrojs/sitemap";
 import { intlayer } from "astro-intlayer";
 import { typst } from "astro-typst";
 
-import { SITE_CONFIG } from "./src/config.ts";
+import { WEBSITE } from "./src/config.ts";
 
 import { extractImages } from "./src/integrations/extract-images.ts";
 import { rehypeCleanEndnotes } from "./src/utils/plugins/clean-endnotes.ts";
 
-const protocol = SITE_CONFIG.website.split("://")[0];
-const site = SITE_CONFIG.website.split("://")[1].split("/")[0];
-const base = SITE_CONFIG.website.split(site).slice(1).join("/") || undefined;
-
 // https://astro.build/config
 export default defineConfig({
-  site: `${protocol}://${site}`,
-  base: base,
+  site: `${WEBSITE.protocol}://${WEBSITE.host}`,
+  base: WEBSITE.basePath,
   image: {
     // Required by the `constrained` layout that `kp.img` sets by default.
     responsiveStyles: true,