--- /dev/null
+<!DOCTYPE html>
+<html lang="{{ .Lang }}" class="theme-dark">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="{{ .Site.Params.siteDescription }}">
+ <meta property="og:locale" content="{{ .Site.Language.Params.locale }}">
+ <meta property="og:type" content="website">
+ <meta property="og:url" content="{{ .Permalink }}">
+ <meta property="og:site_name" content="{{ .Site.Title }}">
+ <title>{{ .Title }}{{ if ne .Title .Site.Title }} — {{ .Site.Title }}{{ end }}</title>
+
+ <!-- Fonts -->
+ <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&family=Oxanium:wght@400;600;700&display=swap" rel="stylesheet">
+
+ <!-- Feather Icons -->
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.css">
+
+ <!-- Tailwind CSS -->
+ {{ $css := resources.Get "css/main.css" | resources.ExecuteAsTemplate "css/main.css" . | minify }}
+ <link rel="stylesheet" href="{{ $css.RelPermalink }}">
+
+ <!-- Syntax highlighting (Chroma) -->
+ {{ $chroma := resources.Get "css/chroma-custom.css" | minify }}
+ <link rel="stylesheet" href="{{ $chroma.RelPermalink }}">
+</head>
+<body class="bg-bg text-text antialiased">
+ <!-- Dot grid background pattern -->
+ <div class="fixed inset-0 pointer-events-none opacity-5 dot-grid" style="
+ background-image: radial-gradient(circle, currentColor 1px, transparent 1px);
+ background-size: 30px 30px;
+ z-index: -1;
+ "></div>
+
+ <!-- Theme toggle & language toggle (before Alpine loads to prevent flash) -->
+ <script>
+ (function() {
+ const theme = localStorage.getItem('theme') || 'dark';
+ const html = document.documentElement;
+ html.classList.remove('theme-light', 'theme-dark');
+ html.classList.add('theme-' + theme);
+ })();
+ </script>
+
+ <!-- Navigation -->
+ {{ partial "header.html" . }}
+
+ <!-- Main content -->
+ <main id="main" class="relative z-10">
+ {{ block "main" . }}{{ end }}
+ </main>
+
+ <!-- Footer -->
+ {{ partial "footer.html" . }}
+
+ <!-- Alpine.js -->
+ <script src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
+
+ <!-- Feather Icons initialization -->
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
+ <script>feather.replace();</script>
+
+ <!-- Theme toggle script -->
+ {{ $themeScript := resources.Get "js/theme-toggle.js" | minify }}
+ <script src="{{ $themeScript.RelPermalink }}"></script>
+
+ <!-- Menu script -->
+ {{ $menuScript := resources.Get "js/menu.js" | minify }}
+ <script src="{{ $menuScript.RelPermalink }}"></script>
+
+ <!-- Language switcher script -->
+ {{ $langScript := resources.Get "js/language-switcher.js" | minify }}
+ <script src="{{ $langScript.RelPermalink }}"></script>
+</body>
+</html>