Files
pihkaal-me/nuxt.config.ts

117 lines
3.6 KiB
TypeScript

const TITLE = "Pihkaal";
const DESCRIPTION =
"23yo developer from Brittany. I love programming and taking photos.";
const URL = "https://pihkaal.me";
const IMAGE = `${URL}/thumbnail.png`;
export default defineNuxtConfig({
compatibilityDate: "2025-07-15",
devtools: { enabled: true },
modules: [
"@nuxt/eslint",
"@nuxt/content",
"@pinia/nuxt",
"./modules/content-assets",
"./modules/asset-generator",
"@nuxtjs/i18n",
"@tresjs/nuxt",
"@nuxt/ui",
"@nuxt/image",
],
app: {
head: {
title: TITLE,
link: [
{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" },
{ rel: "canonical", href: URL },
],
meta: [
{ name: "description", content: DESCRIPTION },
{ name: "author", content: "pihkaal" },
{ name: "robots", content: "index, follow" },
{ name: "theme-color", content: "#181818" },
{ property: "og:type", content: "website" },
{ property: "og:title", content: TITLE },
{ property: "og:description", content: DESCRIPTION },
{ property: "og:image", content: IMAGE },
{ property: "og:image:type", content: "image/png" },
{ property: "og:image:width", content: "1200" },
{ property: "og:image:height", content: "630" },
{ property: "og:image:alt", content: "3D Nintendo DS home screen from pihkaal.me" },
{ property: "og:url", content: URL },
{ property: "og:site_name", content: TITLE },
{ property: "og:locale", content: "en-US" },
{ property: "og:locale:alternate", content: "fr-FR" },
{ name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:title", content: TITLE },
{ name: "twitter:description", content: DESCRIPTION },
{ name: "twitter:image", content: IMAGE },
],
script: [
{
type: "application/ld+json",
innerHTML: JSON.stringify({
"@context": "https://schema.org",
"@type": "Person",
name: "pihkaal",
url: URL,
email: "hello@pihkaal.me",
jobTitle: "Full-Stack Developer",
description: DESCRIPTION,
image: IMAGE,
sameAs: [
"https://git.pihkaal.me",
"https://linkedin.com/in/stevancorre/",
],
}),
},
{
type: "application/ld+json",
innerHTML: JSON.stringify({
"@context": "https://schema.org",
"@type": "WebSite",
name: TITLE,
url: URL,
description: DESCRIPTION,
author: { "@type": "Person", name: "pihkaal", url: URL },
}),
},
],
},
},
css: ["~/assets/app.css"],
ssr: false,
routeRules: {
"/gallery": { ssr: true },
},
i18n: {
strategy: "no_prefix",
locales: [
{ code: "en", language: "en-US", name: "English", file: "en.json" },
{ code: "de", language: "de-DE", name: "Deutsch", file: "de.json" },
{ code: "fr", language: "fr-FR", name: "Français", file: "fr.json" },
{ code: "es", language: "es-ES", name: "Español", file: "es.json" },
{ code: "it", language: "it-IT", name: "Italiano", file: "it.json" },
{ code: "ja", language: "ja-JP", name: "日本語", file: "ja.json" },
],
defaultLocale: "en",
detectBrowserLanguage: {
useCookie: true,
cookieKey: "i18n_redirected",
redirectOn: "root",
},
},
image: {
quality: 80,
format: ["webp"],
},
nitro: {
publicAssets: [
{
baseURL: "/draco",
dir: "./node_modules/three/examples/jsm/libs/draco/gltf",
},
],
},
});