Compare commits

...

2 commits

Author SHA1 Message Date
Paul Nicoué
992e94d3aa Format useAppHead 2025-03-14 11:10:22 +01:00
Paul Nicoué
f72f4afba6 Replace Matomo tracking code with Umami tracking code 2025-03-14 11:00:36 +01:00

View file

@ -17,65 +17,131 @@ export const useAppHead = (pageTitleChunk) => {
return useHead({ return useHead({
htmlAttrs: { htmlAttrs: {
lang: 'fr' lang: 'fr',
}, },
title: pageTitle, title: pageTitle,
meta: [ meta: [
/* Basic metadata */ /* Basic metadata */
{charset: 'utf-8'}, {
{name: 'viewport', content: 'width=device-width'}, charset: 'utf-8',
},
{
name: 'viewport',
content: 'width=device-width',
},
/* Name */ /* Name */
{id: 'schema_name', itemprop: 'name', content: siteTitle}, {
id: 'schema_name',
itemprop: 'name',
content: siteTitle,
},
/* Description */ /* Description */
{name: 'description', content: metaDescription}, {
{id: 'schema_description', itemprop: 'description', content: metaDescription}, name: 'description',
content: metaDescription,
},
{
id: 'schema_description',
itemprop: 'description',
content: metaDescription,
},
/* Author */ /* Author */
{name: 'author', content: siteTitle}, {
name: 'author',
content: siteTitle,
},
/* Image */ /* Image */
{id: 'schema_image', itemprop: 'image', content: metaImageUrl}, {
id: 'schema_image',
itemprop: 'image',
content: metaImageUrl,
},
/* Open Graph */ /* Open Graph */
{property: 'og:title', content: pageTitle}, {
{property: 'og:description', content: metaDescription}, property: 'og:title',
{property: 'og:image', content: metaImageUrl}, content: pageTitle,
{property: 'og:image:width', content: '1200'}, },
{property: 'og:image:height', content: '675'}, {
{property: 'og:url', content: pageUrl}, property: 'og:description',
{property: 'og:type', content: 'website'}, content: metaDescription,
},
{
property: 'og:image',
content: metaImageUrl,
},
{
property: 'og:image:width',
content: '1200',
},
{
property: 'og:image:height',
content: '675',
},
{
property: 'og:url',
content: pageUrl,
},
{
property: 'og:type',
content: 'website',
},
/* Twitter Card */ /* Twitter Card */
{name: 'twitter:card', content: 'summary_large_image'}, {
{name: 'twitter:title', content: siteTitle}, name: 'twitter:card',
{name: 'twitter:description', content: metaDescription}, content: 'summary_large_image',
{name: 'twitter:image', content: metaImageUrl} },
{
name: 'twitter:title',
content: siteTitle,
},
{
name: 'twitter:description',
content: metaDescription,
},
{
name: 'twitter:image',
content: metaImageUrl,
},
], ],
link: [ link: [
/* Canonical URL */ /* Canonical URL */
{rel: 'canonical', href: pageUrl}, {
rel: 'canonical',
href: pageUrl,
},
/* Favicon */ /* Favicon */
{rel: 'icon', sizes: 'any', href: 'favicon/paul-nicoue-favicon.ico'}, {
{rel: 'icon', type: 'image/svg+xml', href: 'favicon/paul-nicoue-favicon.svg'}, rel: 'icon',
{rel: 'apple-touch-icon', href: 'favicon/paul-nicoue-apple-touch-icon.png'}, sizes: 'any',
{rel: 'manifest', href: 'favicon/paul-nicoue.webmanifest'} href: 'favicon/paul-nicoue-favicon.ico',
},
{
rel: 'icon',
type: 'image/svg+xml',
href: 'favicon/paul-nicoue-favicon.svg',
},
{
rel: 'apple-touch-icon',
href: 'favicon/paul-nicoue-apple-touch-icon.png',
},
{
rel: 'manifest',
href: 'favicon/paul-nicoue.webmanifest',
},
], ],
style: [ style: [
/* Schema */ /* Schema */
{itemscope: true, itemtype: 'https://schema.org/WebSite', itemref: 'schema_name schema_description schema_image'} {
itemscope: true,
itemtype: 'https://schema.org/WebSite',
itemref: 'schema_name schema_description schema_image',
},
], ],
script: [ script: [
/* Matomo tracking code */ /* Umami tracking code */
{ {
children: children: `defer src="https://umami.paulnicoue.com/script.js" data-website-id="2df69370-61fb-424f-9719-d106f3e178b5"`,
`var _paq = window._paq = window._paq || []; },
_paq.push(["disableCookies"]); ],
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://matomo.paulnicoue.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '4']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();`
}
]
}) })
} }