From aedd8131d91d9a4baa35dd06fa968c5a1cce1cf4 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Fri, 2 Jan 2026 19:27:02 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20r=C3=A9organiser=20la=20configuration=20?= =?UTF-8?q?du=20site=20et=20des=20collections=20dans=20nuxt.config.ts=20et?= =?UTF-8?q?=20content.config.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.vue | 11 ----------- content.config.ts | 33 +++++++++++++++++---------------- nuxt.config.ts | 22 ++++++++++++++++++++++ 3 files changed, 39 insertions(+), 27 deletions(-) diff --git a/app/app.vue b/app/app.vue index 3e970c7..55ee2ce 100644 --- a/app/app.vue +++ b/app/app.vue @@ -2,17 +2,6 @@ useHead({ titleTemplate: (titleChunk) => { return titleChunk ? `${titleChunk} %separator %siteName` : 'Arthur Danjou %separator AI Safety & Applied Math' - }, - templateParams: { - siteName: 'Arthur Danjou', - separator: '•' - }, - link: [ - { rel: 'icon', type: 'image/webp', href: '/favicon.webp' }, - { rel: 'apple-touch-icon', href: '/favicon.webp' } - ], - htmlAttrs: { - lang: 'en' } }) diff --git a/content.config.ts b/content.config.ts index 4bffeee..ec4eefb 100644 --- a/content.config.ts +++ b/content.config.ts @@ -5,22 +5,23 @@ export const collections = { type: 'page', source: 'index.md' }), - projects: defineCollection({ - type: 'data', - source: 'projects/*.md', - schema: z.object({ - slug: z.string(), - title: z.string(), - type: z.string().optional(), - description: z.string(), - publishedAt: z.string(), - readingTime: z.number().optional(), - tags: z.array(z.string()), - favorite: z.boolean().optional(), - status: z.enum(['active', 'completed', 'archived', 'in progress']), - icon: z.string() - }) - }), + projects: defineCollection( + asSeoCollection({ + type: 'data', + source: 'projects/*.md', + schema: z.object({ + slug: z.string(), + title: z.string(), + type: z.string().optional(), + description: z.string(), + publishedAt: z.string(), + readingTime: z.number().optional(), + tags: z.array(z.string()), + favorite: z.boolean().optional(), + status: z.enum(['active', 'completed', 'archived', 'in progress']), + icon: z.string() + }) + })), uses: defineCollection({ type: 'page', source: 'uses.md' diff --git a/nuxt.config.ts b/nuxt.config.ts index fed0cb3..9ab2112 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -19,11 +19,29 @@ export default defineNuxtConfig({ pageTransition: { name: 'page', mode: 'out-in' }, rootAttrs: { class: 'bg-[var(--ui-bg)]' + }, + head: { + templateParams: { + separator: '•' + }, + titleTemplate: '%s %separator %siteName', + link: [ + { rel: 'icon', type: 'image/webp', href: '/favicon.webp' }, + { rel: 'apple-touch-icon', href: '/favicon.webp' } + ] } }, css: ['~/assets/css/main.css'], + site: { + url: 'https://arthurdanjou.fr', + name: 'Arthur Danjou', + description: 'Research Engineer & Applied Mathematics Student. Focusing on AI Safety, Robustness, and Statistical Learning.', + defaultLocale: 'en', + indexable: true + }, + colorMode: { preference: 'system', fallback: 'light' @@ -120,6 +138,10 @@ export default defineNuxtConfig({ } }, + seo: { + redirectToCanonicalSiteUrl: true + }, + studio: { route: '/studio', repository: {