export default defineNuxtConfig({ compatibilityDate: '2025-07-20', // Nuxt App app: { pageTransition: { name: 'page', mode: 'out-in' }, head: { templateParams: { separator: '•', }, }, rootAttrs: { class: 'bg-[var(--ui-bg)]', }, }, css: ['~/assets/css/main.css'], // Nuxt Modules modules: [ '@nuxt/ui', '@nuxt/content', '@vueuse/nuxt', '@nuxtjs/google-fonts', '@nuxt/image', '@vueuse/motion/nuxt', '@pinia/nuxt', '@nuxtjs/i18n', ], // Nuxt Content content: { preview: { api: 'https://api.nuxt.studio', }, build: { markdown: { highlight: { langs: ['json', 'js', 'ts', 'html', 'css', 'vue', 'shell', 'mdc', 'md', 'yaml', 'python', 'ts', 'javascript', 'r'], theme: 'github-dark', }, remarkPlugins: { 'remark-math': {}, }, rehypePlugins: { 'rehype-katex': { output: 'mathml', }, }, }, }, }, // Nuxt Color Mode colorMode: { preference: 'system', fallback: 'light', }, // Nuxt Devtools devtools: { enabled: true, timeline: { enabled: true }, }, // Nuxt I18N i18n: { strategy: 'no_prefix', locales: [ { label: 'English', code: 'en', language: 'en-EN', icon: 'i-twemoji-flag-united-kingdom', file: 'en.json', }, { label: 'Français', code: 'fr', language: 'fr-FR', icon: 'i-twemoji-flag-france', file: 'fr.json', }, { label: 'Español', code: 'es', language: 'es-ES', icon: 'i-twemoji-flag-spain', file: 'es.json', }, ], defaultLocale: 'en', langDir: 'locales', restructureDir: '', }, // Nuxt Google Fonts googleFonts: { display: 'swap', families: { 'Inter': [400, 500, 600, 700, 800, 900], 'Sofia Sans': [400], 'DM Sans': [400, 500, 600, 700, 800, 900], 'Dancing Script': [400, 700], }, }, // Nitro nitro: { experimental: { websocket: true, openAPI: true, }, }, // Nuxt Env runtimeConfig: { discord: { userId: '', id: '', token: '', }, wakatime: { userId: '', coding: '', editors: '', languages: '', os: '', }, openWeather: { apiKey: '', }, public: { i18n: { baseUrl: '', }, }, }, })