Compare commits

5 Commits

8 changed files with 114 additions and 20 deletions

View File

@@ -3,12 +3,27 @@ const { data: page } = await useAsyncData('hobbies', () => {
return queryCollection('hobbies').first()
})
useSeoMeta({
const head = {
title: 'Balance & Perspectives',
description: 'Beyond the code. Exploring how competitive sports, motorsports strategy, and cultural experiences fuel my research resilience and cognitive flexibility.',
ogTitle: 'Balance & Perspectives • Arthur Danjou',
ogDescription: 'Beyond the code. Exploring how competitive sports, motorsports strategy, and cultural experiences fuel my research resilience and cognitive flexibility.',
twitterCard: 'summary_large_image'
subtitle: ''
}
useSeoMeta({
title: head.title,
description: head.description,
ogTitle: `${head.title} • Arthur Danjou`,
ogDescription: head.description,
twitterCard: 'summary_large_image',
twitterTitle: head.title,
twitterDescription: head.description
})
defineOgImageComponent('NuxtSeo', {
title: head.title,
description: head.description,
subtitle: head.subtitle,
theme: '#F43F5E'
})
</script>

View File

@@ -1,10 +1,25 @@
<script lang="ts" setup>
useSeoMeta({
const head = {
title: 'AI Safety & Applied Mathematics',
description: 'Research Engineer & Master 2 Student at Paris-Dauphine (ISF). Focusing on AI Alignment, Robustness, and Safe Deep Learning.',
ogTitle: 'Arthur Danjou • AI Safety & Applied Mathematics',
ogDescription: 'Research Engineer & Master 2 Student at Paris-Dauphine (ISF). Focusing on AI Alignment, Robustness, and Safe Deep Learning.',
twitterCard: 'summary_large_image'
subtitle: ''
}
useSeoMeta({
title: head.title,
description: head.description,
ogTitle: `Arthur Danjou • ${head.title}`,
ogDescription: head.description,
twitterCard: 'summary_large_image',
twitterTitle: head.title,
twitterDescription: head.description
})
defineOgImageComponent('NuxtSeo', {
title: head.title,
description: head.description,
subtitle: head.subtitle,
theme: '#F43F5E'
})
const { data: page } = await useAsyncData('index', () => {

View File

@@ -26,7 +26,16 @@ useSeoMeta({
description: project.value.description,
ogTitle: `${project.value.title} • Arthur Danjou`,
ogDescription: project.value.description,
twitterCard: 'summary_large_image'
twitterCard: 'summary_large_image',
twitterTitle: project.value.title,
twitterDescription: project.value.description
})
defineOgImageComponent('NuxtSeo', {
title: project.value.title,
description: project.value.description,
subtitle: project.value.type ? `Project Type: ${project.value.type}` : '',
theme: '#F43F5E'
})
const { statusColors, typeColors } = useProjectColors()

View File

@@ -7,12 +7,25 @@ const { data: projects } = await useAsyncData('projects', () => {
.all()
})
useSeoMeta({
const head = {
title: 'Engineering & Research Labs',
description: 'Bridging the gap between theoretical models and production systems. Explore my experimental labs, open-source contributions, and engineering work.',
ogTitle: 'Engineering & Research Labs • Arthur Danjou',
ogDescription: 'Bridging the gap between theoretical models and production systems. Explore my experimental labs, open-source contributions, and engineering work.',
twitterCard: 'summary_large_image'
description: 'Bridging the gap between theoretical models and production systems. Explore my experimental labs, open-source contributions, and engineering work.'
}
useSeoMeta({
title: head.title,
description: head.description,
ogTitle: `${head.title} • Arthur Danjou`,
ogDescription: head.description,
twitterCard: 'summary_large_image',
twitterTitle: head.title,
twitterDescription: head.description
})
defineOgImageComponent('NuxtSeo', {
title: head.title,
description: head.description,
theme: '#F43F5E'
})
const { statusColors, typeColors } = useProjectColors()

View File

@@ -3,12 +3,27 @@ const { data: page } = await useAsyncData('uses', () => {
return queryCollection('uses').first()
})
useSeoMeta({
const head = {
title: 'Research Lab & Technical Setup',
description: 'A curated list of the hardware, software, and self-hosted infrastructure that powers my mathematical modeling and AI research workflows.',
ogTitle: 'Research Lab & Technical Setup • Arthur Danjou',
ogDescription: 'A curated list of the hardware, software, and self-hosted infrastructure that powers my mathematical modeling and AI research workflows.',
twitterCard: 'summary_large_image'
subtitle: 'The gear powering my research & development workflow.'
}
useSeoMeta({
title: head.title,
description: head.description,
ogTitle: `${head.title} • Arthur Danjou`,
ogDescription: head.description,
twitterCard: 'summary_large_image',
twitterTitle: head.title,
twitterDescription: head.description
})
defineOgImageComponent('NuxtSeo', {
title: head.title,
subtitle: head.subtitle,
description: head.description,
theme: '#F43F5E'
})
</script>

View File

@@ -1,3 +1,5 @@
import { definePerson } from 'nuxt-schema-org/schema'
export default defineNuxtConfig({
modules: [
@@ -26,8 +28,8 @@ export default defineNuxtConfig({
},
titleTemplate: '%s %separator %siteName',
link: [
{ rel: 'icon', type: 'image/webp', href: '/favicon.webp' },
{ rel: 'apple-touch-icon', href: '/favicon.webp' }
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'apple-touch-icon', href: '/favicon.ico' }
]
}
},
@@ -138,6 +140,31 @@ export default defineNuxtConfig({
}
},
schemaOrg: {
identity: definePerson({
name: 'Arthur Danjou',
givenName: 'Arthur',
familyName: 'Danjou',
image: '/arthur.webp',
description: 'Research Engineer & Applied Mathematics Student. Focusing on AI Safety, Robustness, and Statistical Learning.',
jobTitle: 'Research Engineer & Applied Mathematics Student',
email: 'arthurdanjou@outlook.fr',
url: 'https://arthurdanjou.fr',
sameAs: [
'https://twitter.com/arthurdanj',
'https://github.com/arthurdanjou',
'https://linkedin.com/in/arthurdanjou'
],
worksFor: {
'@type': 'Organization',
'name': 'Arthur Danjou',
'url': 'https://arthurdanjou.fr'
}
})
},
seo: {
redirectToCanonicalSiteUrl: true
},

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB