Files
portfolio/nuxt.config.ts
T
kayjaydee 654842ba44 feat(07-01): wire global schema.org Person + WebSite and sitemap sources
- nuxt.config.ts: register 'nuxt-schema-org' module + sitemap.sources=['/api/__sitemap__/urls']
- app/utils/seo-person.ts: KILLIAN_PERSON_ID + killianPerson (derived from siteConfig, email excluded)
- app/app.vue: useSchemaOrg([definePerson(killianPerson), defineWebSite({name, inLanguage})]) appended (D-12)
- Verified SSR: /fr emits JSON-LD Person @id=#killian + WebSite (curl, pas d'hydratation)
2026-04-22 11:13:51 +02:00

87 lines
1.7 KiB
TypeScript

export default defineNuxtConfig({
compatibilityDate: '2026-04-21',
ssr: true,
css: ['~/assets/css/main.css'],
modules: [
'@nuxt/ui',
'@nuxt/image',
'@nuxt/content',
'@nuxt/eslint',
'@nuxtjs/i18n',
'@nuxtjs/sitemap',
'nuxt-schema-org',
'nuxt-gtag',
],
components: [
{
path: '~/components',
pathPrefix: false,
},
],
typescript: {
strict: true,
},
colorMode: {
preference: 'dark',
fallback: 'dark',
storage: 'cookie',
storageKey: 'nuxt-color-mode',
classSuffix: '',
},
site: {
url: 'https://killiandalcin.fr',
name: "Killian' DAL-CIN - Developpeur Full Stack",
},
sitemap: {
sources: ['/api/__sitemap__/urls'],
},
i18n: {
strategy: 'prefix',
defaultLocale: 'fr',
baseUrl: 'https://killiandalcin.fr',
locales: [
{ code: 'fr', language: 'fr-FR', file: 'fr.json' },
{ code: 'en', language: 'en-US', file: 'en.json' },
],
langDir: 'locales/',
detectBrowserLanguage: {
useCookie: true,
cookieKey: 'i18n_redirected',
redirectOn: 'no prefix',
fallbackLocale: 'fr',
},
},
runtimeConfig: {
smtpHost: '',
smtpUser: '',
smtpPass: '',
smtpTo: '',
public: {
gtag: {
id: '',
},
},
},
gtag: {
enabled: !import.meta.dev,
},
content: {
build: {
markdown: {
highlight: {
theme: 'github-dark',
langs: ['kotlin', 'java', 'typescript', 'shell', 'bash', 'json', 'vue', 'html', 'css'],
},
},
},
experimental: {
sqliteConnector: 'native',
},
},
vite: {
optimizeDeps: {
include: ['zod'],
},
},
})