writekit/internal/build/templates/base.html

77 lines
2.7 KiB
HTML
Raw Normal View History

2026-01-09 00:16:46 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Title}}</title>
<meta name="description" content="{{.Description}}">
<link rel="canonical" href="{{.CanonicalURL}}">
{{if .NoIndex}}<meta name="robots" content="noindex">{{end}}
<!-- Open Graph -->
<meta property="og:title" content="{{.Title}}">
<meta property="og:description" content="{{.Description}}">
<meta property="og:type" content="{{.OGType}}">
<meta property="og:url" content="{{.CanonicalURL}}">
{{if .OGImage}}<meta property="og:image" content="{{.OGImage}}">{{end}}
<meta property="og:site_name" content="{{.SiteName}}">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{.Title}}">
<meta name="twitter:description" content="{{.Description}}">
{{if .OGImage}}<meta name="twitter:image" content="{{.OGImage}}">{{end}}
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
{{if .FontURL}}<link rel="stylesheet" href="{{.FontURL}}">{{end}}
<link rel="stylesheet" href="/static/css/style.css">
<style>
:root {
--accent: {{with index .Settings "accent_color"}}{{.}}{{else}}#2563eb{{end}};
--font-body: {{or .FontFamily "system-ui, -apple-system, sans-serif"}};
}
</style>
{{if .StructuredData}}
<script type="application/ld+json">{{.StructuredData}}</script>
{{end}}
</head>
<body class="layout-{{with index .Settings "layout"}}{{.}}{{else}}default{{end}} compactness-{{with index .Settings "compactness"}}{{.}}{{else}}cozy{{end}}">
<header class="site-header">
<a href="/" class="site-name">{{.SiteName}}</a>
<nav class="site-nav">
<button type="button" id="search-trigger" class="search-trigger">
<span>Search</span>
<kbd>/</kbd>
</button>
</nav>
</header>
<main>
{{template "content" .}}
</main>
<footer class="site-footer">
<span>&copy; {{.Year}} {{.SiteName}}</span>
{{if .ShowBadge}}<a href="https://writekit.dev" class="powered-by" target="_blank" rel="noopener">Powered by WriteKit</a>{{end}}
</footer>
<div id="search-modal" class="search-modal">
<div class="search-modal-backdrop"></div>
<div class="search-modal-content">
<input type="text" id="search-input" placeholder="Search..." autocomplete="off">
<div id="search-results" class="search-results"></div>
<div class="search-hint">Press <kbd>ESC</kbd> to close</div>
</div>
</div>
<script src="/static/js/main.js"></script>
{{block "scripts" .}}{{end}}
</body>
</html>