Initial site: Astro + M3 Expressive, projects, blog
Personal site & blog for jeanlucmakiola.de. - Astro 7 static output; self-hosted Inter + JetBrains Mono (Fontsource) - Material 3 Expressive design tokens (red accent over neutral surfaces) - Home (hero + about + selected work + latest writing) - /work index + per-app pages (Calendula, Agendula, floret-kit) with build-time Gitea release tags, brand-icon link rows, features grid, and an at-a-glance facts panel - Blog via Markdown content collection; RSS, sitemap, robots, OG/SEO - Privacy-respecting Umami analytics, env-gated (off in dev) - Dockerfile (build -> Caddy) + Caddyfile for Coolify deploy Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
38
src/layouts/BaseLayout.astro
Normal file
38
src/layouts/BaseLayout.astro
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
import BaseHead from '../components/BaseHead.astro';
|
||||
import Analytics from '../components/Analytics.astro';
|
||||
import Header from '../components/Header.astro';
|
||||
import Footer from '../components/Footer.astro';
|
||||
import { SITE } from '../consts';
|
||||
|
||||
// Self-hosted brand fonts (privacy-respecting — no Google CDN).
|
||||
import '@fontsource-variable/inter';
|
||||
import '@fontsource-variable/jetbrains-mono';
|
||||
import '../styles/global.css';
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
description?: string;
|
||||
image?: string;
|
||||
type?: 'website' | 'article';
|
||||
/** 'narrow' caps width for long-form reading (blog, posts, tags). */
|
||||
width?: 'wide' | 'narrow';
|
||||
}
|
||||
|
||||
const { title, description, image, type, width = 'wide' } = Astro.props;
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<html lang={SITE.lang}>
|
||||
<head>
|
||||
<BaseHead title={title} description={description} image={image} type={type} />
|
||||
<Analytics />
|
||||
</head>
|
||||
<body>
|
||||
<Header />
|
||||
<main class:list={['container', { 'container--narrow': width === 'narrow' }]}>
|
||||
<slot />
|
||||
</main>
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user