diff --git a/app/app.vue b/app/app.vue index a958cc6..7bba2c5 100644 --- a/app/app.vue +++ b/app/app.vue @@ -1,89 +1,16 @@ diff --git a/nuxt.config.ts b/nuxt.config.ts index 017488e..425087f 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,4 +1,9 @@ -// https://nuxt.com/docs/api/configuration/nuxt-config +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 }, @@ -15,7 +20,67 @@ export default defineNuxtConfig({ ], app: { head: { - link: [{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" }], + 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: "de-DE" }, + { property: "og:locale:alternate", content: "fr-FR" }, + { property: "og:locale:alternate", content: "es-ES" }, + { property: "og:locale:alternate", content: "it-IT" }, + { property: "og:locale:alternate", content: "ja-JP" }, + { 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"],