Five complete visual identities (terminal, zine, arcade, editorial, blueprint) switched by a fixed bottom-right 5-button group, persisted in localStorage and linkable via ?design=<name>. Chrome rebuilt on semantic classes + CSS design tokens (src/styles/designs/). @gabvdl/ui wired in: GlobalSearch (Cmd-K palette over search-index.json, replaces the Svelte Lunr modal), ImageViewer on article images, CopyButton on code blocks. Deployed to beta.blog.dev.gabvdl.xyz.
67 lines
2.2 KiB
JavaScript
67 lines
2.2 KiB
JavaScript
import path, { dirname } from "path";
|
||
import { fileURLToPath } from "url";
|
||
import svelte from "@astrojs/svelte";
|
||
import tailwind from "@astrojs/tailwind";
|
||
import sitemap from "@astrojs/sitemap";
|
||
import mdx from "@astrojs/mdx";
|
||
import { defineConfig } from "astro/config";
|
||
import react from "@astrojs/react";
|
||
const __filename = fileURLToPath(import.meta.url);
|
||
const __dirname = dirname(__filename);
|
||
// Full Astro Configuration API Documentation:
|
||
// https://docs.astro.build/reference/configuration-reference
|
||
|
||
// @type-check enabled!
|
||
// VSCode and other TypeScript-enabled text editors will provide auto-completion,
|
||
// helpful tooltips, and warnings if your exported object is invalid.
|
||
// You can disable this by removing "@ts-check" and `@type` comments below.
|
||
|
||
// @ts-check
|
||
|
||
// https://astro.build/config
|
||
|
||
// https://astro.build/config
|
||
|
||
// https://astro.build/config
|
||
export default defineConfig(
|
||
/** @type {import('astro').AstroUserConfig} */ {
|
||
// root: '.', // Where to resolve all URLs relative to. Useful if you have a monorepo project.
|
||
// outDir: './dist', // When running `astro build`, path to final static output
|
||
// publicDir: './public', // A folder of static files Astro will copy to the root. Useful for favicons, images, and other files that don’t need processing.
|
||
output: "static",
|
||
site: "https://blog.dev.gabvdl.xyz",
|
||
// Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
|
||
server: {
|
||
// port: 3000, // The port to run the dev server on.
|
||
},
|
||
integrations: [
|
||
mdx(),
|
||
svelte(),
|
||
tailwind({
|
||
config: {
|
||
applyBaseStyles: false,
|
||
},
|
||
}),
|
||
sitemap(),
|
||
react(),
|
||
],
|
||
vite: {
|
||
plugins: [],
|
||
resolve: {
|
||
alias: {
|
||
$: path.resolve(__dirname, "./src"),
|
||
},
|
||
},
|
||
optimizeDeps: {
|
||
allowNodeBuiltins: true,
|
||
},
|
||
ssr: {
|
||
// @gabvdl/ui (and its prismjs subpath imports) must be bundled by
|
||
// Vite: left external, Node's ESM resolver chokes on the package's
|
||
// extensionless `prismjs/components/*` imports during static builds.
|
||
noExternal: ["@gabvdl/ui", "prismjs"],
|
||
},
|
||
},
|
||
}
|
||
);
|