Files
portfolio/nuxt.config.ts
T
kayjaydee f72170b4f3 feat(rebrand): align jobTitle + meta + i18n on Hytale Plugin Developer (REBRAND-01/02/03)
- app/pages/index.vue: JSON-LD utilise siteConfig.jobTitle (Hytale Plugin Developer)
  + siteConfig.contact.email au lieu de hardcode "Developpeur Full Stack"
- nuxt.config.ts: site.name "Developpeur Full Stack" → "Hytale Plugin Developer"
- app/data/site.ts: description "Professional Full Stack Developer..." →
  "Hytale Plugin Developer & Web Developer..."
- i18n/fr.json + en.json: refonte positionnement sur 14 clés
  - a11y.logoLabel, seo.home/about/contact, about.title/intro/approach/cta,
    home.cta2, contact.title/subtitle/faq.projectTypes, projects.subtitle
  - Le titre principal "Hytale Plugin Developer & [Freelance] Web Dev"
  - Les 2 occurrences "full stack" restantes sont contextuelles (skills)

Laisse les projets web/bot existants (virtual-tour, flowboard, xinko...) visibles,
mentionne Hytale plugins car Phase 10 (5 démos) est planifiée.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:55:37 +02:00

94 lines
1.9 KiB
TypeScript

export default defineNuxtConfig({
compatibilityDate: '2026-04-21',
ssr: true,
// Workaround for nuxt/nuxt#33987: esbuild zombie from fontless (@nuxt/ui → @nuxt/fonts)
// keeps the Node process alive after "Build complete!", causing Docker builds to hang.
hooks: {
close: () => {
process.exit(0)
},
},
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 - Hytale Plugin Developer",
},
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'],
},
},
})