52 lines
2 KiB
HTML
52 lines
2 KiB
HTML
|
{{- partial "init.html" . -}}
|
||
|
|
||
|
<!DOCTYPE html>
|
||
|
<html lang="{{ .Site.LanguageCode }}">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<meta name="robots" content="noodp" />
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||
|
<title>
|
||
|
{{- block "title" . }}{{ .Site.Title }}{{ end -}}
|
||
|
</title>
|
||
|
|
||
|
{{- partial "head/meta.html" . -}}
|
||
|
{{- partial "head/link.html" . -}}
|
||
|
{{- partial "head/seo.html" . -}}
|
||
|
</head>
|
||
|
<body header-desktop="{{ .Site.Params.header.desktopMode }}" header-mobile="{{ .Site.Params.header.mobileMode }}">
|
||
|
{{- /* Check theme isDark before body rendering */ -}}
|
||
|
{{- $theme := .Site.Params.defaulttheme -}}
|
||
|
<script type="text/javascript">(window.localStorage && localStorage.getItem('theme') ? localStorage.getItem('theme') === 'dark' : ('{{ $theme }}' === 'auto' ? window.matchMedia('(prefers-color-scheme: dark)').matches : '{{ $theme }}' === 'dark')) && document.body.setAttribute('theme', 'dark');</script>
|
||
|
|
||
|
<div id="mask"></div>
|
||
|
|
||
|
{{- /* Body wrapper */ -}}
|
||
|
<div class="wrapper">
|
||
|
{{- partial "header.html" . -}}
|
||
|
<main class="main">
|
||
|
<div class="container">
|
||
|
{{- block "content" . }}{{ end -}}
|
||
|
</div>
|
||
|
</main>
|
||
|
{{- partial "footer.html" . -}}
|
||
|
</div>
|
||
|
|
||
|
<div id="fixed-buttons">
|
||
|
{{- /* top button */ -}}
|
||
|
<a href="#" id="back-to-top" class="fixed-button" title="{{ T `backToTop` }}">
|
||
|
<i class="fas fa-arrow-up fa-fw"></i>
|
||
|
</a>
|
||
|
|
||
|
{{- /* comment button */ -}}
|
||
|
<a href="#" id="view-comments" class="fixed-button" title="{{ T `viewComments` }}">
|
||
|
<i class="fas fa-comment fa-fw"></i>
|
||
|
</a>
|
||
|
</div>
|
||
|
|
||
|
{{- /* Load JavaScript scripts and CSS */ -}}
|
||
|
{{- partial "assets.html" . -}}
|
||
|
</body>
|
||
|
</html>
|