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 > © {{.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 >
2026-01-09 22:02:47 +02:00
< script src = "https://unpkg.com/quicklink@2.3.0/dist/quicklink.umd.js" > < / script >
< script > quicklink . listen ( { ignores : [ /\/studio/ , /\/api\// ] } ) ; < / script >
2026-01-09 00:16:46 +02:00
{{block "scripts" .}}{{end}}
< / body >
< / html >