Files
joururi-portfolio/src/layouts/Layout.astro
2026-07-13 21:30:00 +02:00

92 lines
2.6 KiB
Plaintext

---
import '../../assets/css/main.css'
import BgParticles from '../components/BgParticles.astro'
import BgGrid from '../components/BgGrid.astro'
import HeadFavicon from './HeadFavicon.astro'
import Navbar from "../components/Navbar.astro";
import HeadSchema from '../components/HeadSchema.astro';
interface Props {
title?: string
description?: string
hasParticles?: boolean
hasGrid?: boolean
}
const { title = "Home", hasParticles = false, hasGrid = false } = Astro.props
const baseTitle = 'Alexis Pelé'
const renderedTitle = `${title} · ${baseTitle}`
const { description = baseTitle } = Astro.props
const authorName = "Alexis Pelé"
const authorUsername = "AlexisNP"
const websiteDomain = "alexcreates.fr"
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="canonical" href={Astro.url} />
<meta name="generator" content={ Astro.generator } />
<title>{ renderedTitle }</title>
<meta property="og:title" content={renderedTitle} />
<meta name="description" content={description} />
<meta property="og:description" content={description} />
<meta name="twitter:description" content={description} />
<meta property="author" content={authorName} />
<meta property="og:author" content={authorName} />
<meta property="og:author:username" content={authorUsername} />
<HeadFavicon />
<meta name="msapplication-TileColor" content="#065f46">
<meta name="theme-color" content="#065f46">
<meta name="color-scheme" content="dark light" />
<meta property="og:site_name" content={websiteDomain} />
<meta name="twitter:domain" content={websiteDomain} />
<meta property="og:type" content="website" />
<HeadSchema />
<!-- Matomo -->
<script is:inline>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.alexcreates.fr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
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);
})();
</script>
<!-- End Matomo Code -->
</head>
<body class="h-screen relative bg-slate-950 text-white">
<Navbar />
<div class="container pt-28">
<slot />
</div>
{hasParticles &&
<BgParticles />
}
{hasGrid &&
<BgGrid />
}
</body>
</html>