137 lines
4.4 KiB
Cheetah
137 lines
4.4 KiB
Cheetah
{{define "base"}}
|
|
<!doctype html>
|
|
<html lang='en' data-theme="light">
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>{{template "title" .Data}} - {{ .SiteConfig.Title }}</title>
|
|
<meta property="og:title" content="{{template "title" .Data}}" />
|
|
|
|
<link rel='stylesheet' href='/static/pico.min.css'>
|
|
<style>
|
|
header {
|
|
background-color: {{.SiteConfig.HeaderColor}};
|
|
padding-bottom: 1rem !important;
|
|
}
|
|
|
|
footer {
|
|
border-top: dashed 2px;
|
|
border-color: #ccc;
|
|
}
|
|
|
|
.avatar {
|
|
float: left;
|
|
margin-right: 1rem;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.header {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.header-title {
|
|
order: 0;
|
|
}
|
|
|
|
.header-profile {
|
|
order: 1;
|
|
}
|
|
|
|
hgroup h2 a { color: inherit; }
|
|
|
|
.photo-grid {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
padding: 0 4px;
|
|
}
|
|
|
|
.photo-grid-item {
|
|
flex: 1 0 25%;
|
|
padding: 4px;
|
|
}
|
|
|
|
.photo-grid-item img {
|
|
width: 100%;
|
|
height: 100%;
|
|
aspect-ratio: 1 / 1 ;
|
|
object-fit: cover;
|
|
}
|
|
|
|
main img {
|
|
max-height: 50vh;
|
|
margin: auto;
|
|
text-align: center;
|
|
display: block;
|
|
}
|
|
|
|
</style>
|
|
{{ .SiteConfig.HtmlHeadExtra }}
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="container header h-card">
|
|
<hgroup class="header-title">
|
|
<h2><a class="p-name u-url" href="/">{{ .SiteConfig.Title }}</a></h2>
|
|
<h3 class="p-note">{{ .SiteConfig.SubTitle }}</h3>
|
|
</hgroup>
|
|
|
|
<div class="header-profile">
|
|
{{ if .SiteConfig.AvatarUrl }}
|
|
<img class="u-photo u-logo avatar" src="{{ .SiteConfig.AvatarUrl }}" alt="{{ .SiteConfig.Title }}" width="100" height="100" />
|
|
{{ end }}
|
|
<div style="float: right; list-style: none;">
|
|
{{ range $me := .SiteConfig.Me }}
|
|
<li><a href="{{$me.Url}}" rel="me">{{$me.Name}}</a>
|
|
</li>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container">
|
|
<nav>
|
|
<ul>
|
|
{{ range $link := .SiteConfig.HeaderMenu }}
|
|
{{ if $link.List }}
|
|
<li><a href="/lists/{{ $link.List }}">{{ $link.Title }}</a></li>
|
|
{{ else if $link.Post }}
|
|
<li><a href="/posts/{{ $link.Post }}">{{ $link.Title }}</a></li>
|
|
{{ else }}
|
|
<li><a href="{{ $link.Url }}">{{ $link.Title }}</a></li>
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
<main class="container">
|
|
{{template "main" .Data}}
|
|
</main>
|
|
<footer class="container">
|
|
<nav>
|
|
<ul>
|
|
{{ range $link := .SiteConfig.FooterMenu }}
|
|
{{ if $link.List }}
|
|
<li><a href="/lists/{{ $link.List }}">{{ $link.Title }}</a></li>
|
|
{{ else if $link.Post }}
|
|
<li><a href="/posts/{{ $link.Post }}">{{ $link.Title }}</a></li>
|
|
{{ else }}
|
|
<li><a href="{{ $link.Url }}">{{ $link.Title }}</a></li>
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul>
|
|
</nav>
|
|
{{ .SiteConfig.FooterExtra}}
|
|
<small>
|
|
<nav>
|
|
<ul>
|
|
<li><a href="/admin/">Editor</a></li>
|
|
</ul>
|
|
</nav>
|
|
</small>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
{{end}} |