mirror of
https://github.com/ArthurDanjou/artsite.git
synced 2026-01-30 11:28:40 +01:00
fix: améliorer la gestion des métadonnées SEO dans plusieurs fichiers de page
This commit is contained in:
@@ -3,13 +3,26 @@ const { data: page } = await useAsyncData('hobbies', () => {
|
|||||||
return queryCollection('hobbies').first()
|
return queryCollection('hobbies').first()
|
||||||
})
|
})
|
||||||
|
|
||||||
useSeoMeta({
|
const head = {
|
||||||
title: 'Balance & Perspectives',
|
title: 'Balance & Perspectives',
|
||||||
description: 'Beyond the code. Exploring how competitive sports, motorsports strategy, and cultural experiences fuel my research resilience and cognitive flexibility.',
|
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',
|
subtitle: ''
|
||||||
ogDescription: 'Beyond the code. Exploring how competitive sports, motorsports strategy, and cultural experiences fuel my research resilience and cognitive flexibility.',
|
}
|
||||||
|
|
||||||
|
useSeoMeta({
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
ogTitle: `${head.title} • Arthur Danjou`,
|
||||||
|
ogDescription: head.description,
|
||||||
twitterCard: 'summary_large_image'
|
twitterCard: 'summary_large_image'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
defineOgImageComponent('NuxtSeo', {
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
subtitle: head.subtitle,
|
||||||
|
theme: '#F43F5E'
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
@@ -1,12 +1,25 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
useSeoMeta({
|
const head = {
|
||||||
title: 'AI Safety & Applied Mathematics',
|
title: 'AI Safety & Applied Mathematics',
|
||||||
description: 'Research Engineer & Master 2 Student at Paris-Dauphine (ISF). Focusing on AI Alignment, Robustness, and Safe Deep Learning.',
|
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',
|
subtitle: ''
|
||||||
ogDescription: 'Research Engineer & Master 2 Student at Paris-Dauphine (ISF). Focusing on AI Alignment, Robustness, and Safe Deep Learning.',
|
}
|
||||||
|
|
||||||
|
useSeoMeta({
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
ogTitle: `Arthur Danjou • ${head.title}`,
|
||||||
|
ogDescription: head.description,
|
||||||
twitterCard: 'summary_large_image'
|
twitterCard: 'summary_large_image'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
defineOgImageComponent('NuxtSeo', {
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
subtitle: head.subtitle,
|
||||||
|
theme: '#F43F5E'
|
||||||
|
})
|
||||||
|
|
||||||
const { data: page } = await useAsyncData('index', () => {
|
const { data: page } = await useAsyncData('index', () => {
|
||||||
return queryCollection('index').first()
|
return queryCollection('index').first()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -29,6 +29,13 @@ useSeoMeta({
|
|||||||
twitterCard: 'summary_large_image'
|
twitterCard: 'summary_large_image'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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()
|
const { statusColors, typeColors } = useProjectColors()
|
||||||
|
|
||||||
const formattedDate = computed(() => {
|
const formattedDate = computed(() => {
|
||||||
|
|||||||
@@ -7,14 +7,25 @@ const { data: projects } = await useAsyncData('projects', () => {
|
|||||||
.all()
|
.all()
|
||||||
})
|
})
|
||||||
|
|
||||||
useSeoMeta({
|
const head = {
|
||||||
title: 'Engineering & Research Labs',
|
title: 'Engineering & Research Labs',
|
||||||
description: 'Bridging the gap between theoretical models and production systems. Explore my experimental labs, open-source contributions, and engineering work.',
|
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.',
|
|
||||||
|
useSeoMeta({
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
ogTitle: `${head.title} • Arthur Danjou`,
|
||||||
|
ogDescription: head.description,
|
||||||
twitterCard: 'summary_large_image'
|
twitterCard: 'summary_large_image'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
defineOgImageComponent('NuxtSeo', {
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
theme: '#F43F5E'
|
||||||
|
})
|
||||||
|
|
||||||
const { statusColors, typeColors } = useProjectColors()
|
const { statusColors, typeColors } = useProjectColors()
|
||||||
|
|
||||||
const selectedType = ref<string | null>(null)
|
const selectedType = ref<string | null>(null)
|
||||||
|
|||||||
@@ -3,13 +3,26 @@ const { data: page } = await useAsyncData('uses', () => {
|
|||||||
return queryCollection('uses').first()
|
return queryCollection('uses').first()
|
||||||
})
|
})
|
||||||
|
|
||||||
useSeoMeta({
|
const head = {
|
||||||
title: 'Research Lab & Technical Setup',
|
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.',
|
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',
|
subtitle: 'The gear powering my research & development workflow.'
|
||||||
ogDescription: 'A curated list of the hardware, software, and self-hosted infrastructure that powers my mathematical modeling and AI research workflows.',
|
}
|
||||||
|
|
||||||
|
useSeoMeta({
|
||||||
|
title: head.title,
|
||||||
|
description: head.description,
|
||||||
|
ogTitle: `${head.title} • Arthur Danjou`,
|
||||||
|
ogDescription: head.description,
|
||||||
twitterCard: 'summary_large_image'
|
twitterCard: 'summary_large_image'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
defineOgImageComponent('NuxtSeo', {
|
||||||
|
title: head.title,
|
||||||
|
subtitle: head.subtitle,
|
||||||
|
description: head.description,
|
||||||
|
theme: '#F43F5E'
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
Reference in New Issue
Block a user