adrian-altner.de/astro.config.mjs
2026-04-22 03:07:20 +02:00

76 lines
No EOL
1.9 KiB
JavaScript

// @ts-check
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import { defineConfig, fontProviders } from 'astro/config';
import { loadEnv } from 'vite';
import node from '@astrojs/node';
const envMode = process.env.NODE_ENV === 'production' ? 'production' : 'development';
const envVars = loadEnv(envMode, process.cwd(), '');
const WEBMENTION_TOKEN = envVars.WEBMENTION_TOKEN || process.env.WEBMENTION_TOKEN || '';
console.log(`[astro.config] loadEnv mode=${envMode} token-len=${WEBMENTION_TOKEN.length}`);
// https://astro.build/config
export default defineConfig({
site: 'https://adrian-altner.de',
vite: {
define: {
'globalThis.__WEBMENTION_TOKEN__': JSON.stringify(WEBMENTION_TOKEN),
},
},
devToolbar: {
enabled: false,
},
i18n: {
defaultLocale: 'de',
locales: ['de', 'en'],
routing: {
prefixDefaultLocale: false,
redirectToDefaultLocale: false,
},
},
integrations: [
mdx(),
sitemap({
i18n: {
defaultLocale: 'de',
locales: { de: 'de-DE', en: 'en-US' },
},
}),
],
fonts: [
{
provider: fontProviders.local(),
name: 'Atkinson',
cssVariable: '--font-atkinson',
fallbacks: ['sans-serif'],
options: {
variants: [
{
src: ['./src/assets/fonts/atkinson-regular.woff'],
weight: 400,
style: 'normal',
display: 'swap',
},
{
src: ['./src/assets/fonts/atkinson-bold.woff'],
weight: 700,
style: 'normal',
display: 'swap',
},
],
},
},
],
adapter: node({
mode: 'standalone',
}),
});