Files
artchat/nuxt.config.ts
Arthur DANJOU d88fd80aee feat: update nuxt configuration and add nuxt-studio module
- Refactored nuxt.config.ts to include 'nuxt-studio' module.
- Removed preview API configuration from content settings.
- Added GitHub repository configuration for Nuxt Studio.
- Introduced prerender settings for the application.

chore: update package dependencies

- Bumped versions of several @iconify-json packages.
- Updated @pinia/nuxt to version 0.11.3.
- Updated vue-router to version 4.6.3 and wrangler to 4.45.4.
- Updated vue-tsc to version 3.1.3.
- Added nuxt-studio as a dependency.

fix: update binary PDF resumes

- Updated English and French resume PDFs in the public/resumes directory.
2025-11-12 19:00:09 +01:00

190 lines
4.0 KiB
TypeScript

import { definePerson } from 'nuxt-schema-org/schema'
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', '@nuxtjs/seo', '@nuxt/content', '@vueuse/nuxt', '@nuxtjs/google-fonts', '@nuxt/image', '@vueuse/motion/nuxt', '@pinia/nuxt', '@nuxtjs/i18n', 'nuxt-studio'],
ogImage: {
enabled: false,
},
linkChecker: {
enabled: false,
},
site: {
url: 'https://arthurdanjou.fr',
name: 'Developer enjoying Artificial Intelligence and Machine Learning. Mathematics Student at Paris Dauphine-PSL University specialised in Statistics and Data Science.',
},
schemaOrg: {
identity: definePerson({
// Basic Information, if applicable
name: 'Arthur Danjou',
givenName: 'Arthur',
familyName: 'Danjou',
// Profile Information, if applicable
image: '/arthur-pro.webp',
description: 'AI researcher and technical author specializing in machine learning and neural networks',
jobTitle: 'Principal AI Researcher',
// Contact & Social, if applicable
email: 'arthurdanjou@outlook.fr',
url: 'https://go.arthurdanjou.fr/website',
sameAs: [
'https://go.arthurdanjou.fr/twitter',
'https://go.arthurdanjou.fr/github',
'https://go.arthurdanjou.fr/linkedin',
],
}),
},
// Nuxt Content
content: {
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',
},
},
},
},
},
vite: {
build: {
sourcemap: false,
},
},
// Nuxt Color Mode
colorMode: {
preference: 'system',
fallback: 'light',
},
// Nuxt Devtools
devtools: {
enabled: true,
timeline: { enabled: true },
},
// Nuxt Studio
studio: {
// GitHub repository configuration (owner and repo are required)
repository: {
provider: 'github', // only GitHub is currently supported
owner: 'arthurdanjou', // your GitHub username or organization
repo: 'artchat', // your repository name
branch: 'main', // the branch to commit to (default: main)
},
},
// 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: {
openAPI: true,
},
preset: 'cloudflare-module',
cloudflare: {
deployConfig: true,
nodeCompat: true,
},
prerender: {
routes: ['/'],
crawlLinks: true,
},
},
// Nuxt Env
runtimeConfig: {
discord: {
userId: '',
id: '',
token: '',
},
wakatime: {
userId: '',
coding: '',
editors: '',
languages: '',
os: '',
},
openWeather: {
apiKey: '',
},
public: {
i18n: {
baseUrl: '',
},
},
},
})