This commit is contained in:
69
layouts/partials/header.html
Normal file
69
layouts/partials/header.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
// Get all "navbar-burger" elements
|
||||
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
||||
|
||||
// Check if there are any navbar burgers
|
||||
if ($navbarBurgers.length > 0) {
|
||||
|
||||
// Add a click event on each of them
|
||||
$navbarBurgers.forEach( el => {
|
||||
el.addEventListener('click', () => {
|
||||
|
||||
// Get the target from the "data-target" attribute
|
||||
const target = el.dataset.target;
|
||||
const $target = document.getElementById(target);
|
||||
|
||||
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||
el.classList.toggle('is-active');
|
||||
$target.classList.toggle('is-active');
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
<header>
|
||||
<nav class="navbar is-fixed-top" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item has-text-weight-normal is-size-4 is-smallcaps" href="{{ .Site.BaseURL }}">
|
||||
{{ .Site.Title|safeHTML }}
|
||||
</a>
|
||||
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
<div id="navMenu" class="navbar-menu">
|
||||
<div class="navbar-end">
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if .HasChildren }}
|
||||
<div class="navbar-item has-dropdown is-hoverable">
|
||||
<a class="navbar-link is-smallcaps">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
<div class="navbar-dropdown is-right">
|
||||
{{ $len := len .Children }}
|
||||
{{ range $i, $child := .Children }}
|
||||
<a href="{{ $child.URL }}" title="{{ $child.Name }}" class="navbar-item is-smallcaps">
|
||||
{{ $child.Name }}
|
||||
</a>
|
||||
{{ if not (eq (add $len -1) $i) }}
|
||||
<hr class="navbar-divider">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
<a href="{{ .URL }}" title="{{ .Name }}" class="mr-3 navbar-item is-smallcaps">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
28
layouts/partials/html-head.html
Normal file
28
layouts/partials/html-head.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.2/css/bulma.min.css">
|
||||
|
||||
<meta name="author" content="{{ $.Site.Params.author }}">
|
||||
<meta name="description" content="{{ $.Site.Params.description }}">
|
||||
{{ if .Page.Title }}
|
||||
<title>{{ .Page.Title }} – {{ .Site.Title | safeHTML }}</title>
|
||||
{{ else }}
|
||||
<title>{{ .Site.Title | safeHTML }}</title>
|
||||
{{ end }}
|
||||
|
||||
{{ hugo.Generator }}
|
||||
|
||||
{{ if .Site.Params.allow_robots }}
|
||||
<meta name="robots" content="all">
|
||||
{{ else }}
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
{{ end }}
|
||||
|
||||
<link rel="stylesheet" href="/css/main.css" >
|
||||
<link rel="stylesheet" href="/css/syntax.css" >
|
||||
<link rel="stylesheet" href="/fonts/fontawesome/css/all.css">
|
||||
<link rel="shortcut icon" href="/favicon.svg" type="image/x-icon" />
|
||||
</head>
|
||||
103
layouts/partials/pagelist-default.html
Normal file
103
layouts/partials/pagelist-default.html
Normal file
@@ -0,0 +1,103 @@
|
||||
<div class="content">
|
||||
<table class="table is-striped is-hoverable is-bordered">
|
||||
{{ if isset .Params "infos" }}
|
||||
{{ if gt (len .Params.infos) 1 }}
|
||||
<thead>
|
||||
<tr>
|
||||
{{ range .Params.infos }}
|
||||
<th>{{ title .name }}</th>
|
||||
{{ end }}
|
||||
</tr>
|
||||
</thead>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<tbody>
|
||||
{{ range $page := (.Paginator 15).Pages }}
|
||||
<tr>
|
||||
{{ range $info := $.Params.infos }}
|
||||
{{ $key := "" }}
|
||||
{{ if eq (index $info "key") nil }}
|
||||
{{ $key = $info.name }}
|
||||
{{ else }}
|
||||
{{ $key = $info.key }}
|
||||
{{ end }}
|
||||
|
||||
{{ $value := (index $page.Params $key) }}
|
||||
|
||||
{{ $type := "" }}
|
||||
{{ if ne (index $info "type") nil }}
|
||||
{{ $type = $info.type }}
|
||||
{{ end }}
|
||||
|
||||
{{ $link := false }}
|
||||
{{ $linktarget := "" }}
|
||||
|
||||
{{/* get default link */}}
|
||||
{{ if ne (index $info "defaultlink") nil }}
|
||||
{{ $link = $info.defaultlink }}
|
||||
{{ end }}
|
||||
|
||||
{{/* look for overwrites */}}
|
||||
{{ if ne (index $page.Params "links") nil }}
|
||||
{{ if ne (index $page.Params.links $key) nil }}
|
||||
{{ $link = default $link (index (index $page.Params.links $key) "enable") }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* get the link target */}}
|
||||
{{ if ne (index $page.Params "links") nil }}
|
||||
{{ if ne (index $page.Params.links $key) nil }}
|
||||
{{ $linktarget = default "" (index (index $page.Params.links $key) "target") }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* fall back to default target if none given */}}
|
||||
{{ if and ($link) (eq $linktarget "") }}
|
||||
{{ $linktarget = $page.Permalink }}
|
||||
{{ end }}
|
||||
|
||||
{{ $externallink := "" }}
|
||||
{{ if ne (index $page.Params "externallink") nil }}
|
||||
{{ $externallink = (index $page.Params "externallink") }}
|
||||
{{ else if ne (index $info "externallink") nil }}
|
||||
{{ $externallink = (index $info "externallink") }}
|
||||
{{ end }}
|
||||
|
||||
{{ $datespan := false }}
|
||||
{{ $dateto := "" }}
|
||||
|
||||
{{ if (eq $type "date") }}
|
||||
{{ if ne (index $page.Params "dateto") nil }}
|
||||
{{ $datespan = true }}
|
||||
{{ $dateto = (index $page.Params "dateto") }}
|
||||
{{ end }}
|
||||
<td>
|
||||
<time class="list-time" datetime="{{- dateFormat "2006-01-02" $value -}}">
|
||||
{{- dateFormat "2006-01-02" $value -}}
|
||||
</time>
|
||||
{{- if $datespan -}}
|
||||
<br>
|
||||
<time class="dateto" datetime="{{ dateFormat "2006-01-02" $dateto -}}">
|
||||
–
|
||||
{{ dateFormat "2006-01-02" $dateto -}}
|
||||
</time>
|
||||
{{ end }}
|
||||
</td>
|
||||
{{ else }}
|
||||
<td>
|
||||
{{ if (eq $link true) }}
|
||||
<a href="{{ $linktarget }}">
|
||||
{{ $value }}
|
||||
</a>
|
||||
{{ else }}
|
||||
{{ $value }}
|
||||
{{ end }}
|
||||
</td>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{ partial "pagination.html" . }}
|
||||
74
layouts/partials/pagination.html
Normal file
74
layouts/partials/pagination.html
Normal file
@@ -0,0 +1,74 @@
|
||||
{{- $pag := $.Paginator -}}
|
||||
{{- if gt $pag.TotalPages 1 -}}
|
||||
<nav class="pagination is-centered" aria-label="pagination">
|
||||
<a
|
||||
class="pagination-previous{{ if not $pag.HasPrev }} is-invisible {{- end }}"
|
||||
{{ if $pag.HasPrev -}} href="{{ $pag.Prev.URL }}" {{- end }}
|
||||
aria-label="Previous page">
|
||||
<span class="is-hidden-touch">← </span> Previous
|
||||
</a>
|
||||
<a
|
||||
class="pagination-next{{ if not $pag.HasNext }} is-invisible {{- end }}"
|
||||
{{ if $pag.HasNext -}} href="{{ $pag.Next.URL }}" {{- end }}
|
||||
aria-label="Next page">
|
||||
Next<span class="is-hidden-touch"> →</span>
|
||||
</a>
|
||||
|
||||
<ul class="pagination-list">
|
||||
{{- with $pag.First -}}
|
||||
<li>
|
||||
<a
|
||||
href="{{- .URL -}}"
|
||||
class="pagination-link{{ if (eq $pag.PageNumber 1) }} is-current {{- end }}"
|
||||
aria-label="First page">
|
||||
1
|
||||
</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
|
||||
{{- $ellipse_already_printed_high := false -}}
|
||||
{{- $ellipse_already_printed_low := false -}}
|
||||
|
||||
{{/* all pages but the first and the last */}}
|
||||
{{- range $pag.Pagers | first (sub (len $pag.Pagers) 1) | last (sub (len $pag.Pagers) 2) -}}
|
||||
|
||||
{{- if gt (sub .PageNumber $pag.PageNumber) 1 -}}
|
||||
{{- if not (eq $ellipse_already_printed_high true) -}}
|
||||
<li><span class="pagination-ellipsis">…</span></li>
|
||||
{{- $ellipse_already_printed_high = true -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- else if gt (sub $pag.PageNumber .PageNumber) 1 -}}
|
||||
{{- if not (eq $ellipse_already_printed_low true) -}}
|
||||
<li><span class="pagination-ellipsis">…</span></li>
|
||||
{{- $ellipse_already_printed_low = true -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- else -}}
|
||||
{{- $is_current := eq .PageNumber $pag.PageNumber -}}
|
||||
<li>
|
||||
<a
|
||||
href="{{- .URL -}}"
|
||||
class="pagination-link{{ if $is_current }} is-current {{- end }}"
|
||||
aria-label="Page number {{ .PageNumber }}"
|
||||
{{ if $is_current }}aria-current="page"{{ end }}>
|
||||
{{- .PageNumber -}}
|
||||
</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- with $pag.Last -}}
|
||||
<li>
|
||||
<a
|
||||
href="{{- .URL -}}"
|
||||
class="pagination-link{{ if (eq $pag.PageNumber .PageNumber) }} is-current {{- end }}"
|
||||
aria-label="Last page">
|
||||
{{- .PageNumber -}}
|
||||
</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
{{- end -}}
|
||||
18
layouts/partials/related.html
Normal file
18
layouts/partials/related.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{{ $related := .Site.RegularPages.Related . | first 3 }}
|
||||
|
||||
{{ if gt (len $related) 0 }}
|
||||
{{ with $related }}
|
||||
<div class="content">
|
||||
<h3>See also</h3>
|
||||
<ul>
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ .RelPermalink }}">
|
||||
{{- .Title -}}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
19
layouts/partials/site-footer.html
Normal file
19
layouts/partials/site-footer.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<footer class="section has-background-white">
|
||||
<div class="level">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
{{ partial "social-follow.html" . }}
|
||||
</div>
|
||||
<a class="level-item px-5" href="https://www.credly.com/badges/870a6345-ed4e-416e-9c46-c9af9c6d2c77/public_url" title="AWS Certified Solutions Architect – Associate">
|
||||
<figure class="image is-48x48">
|
||||
<img src="/assets/badges/aws-certified-solutions-architect-associate.png">
|
||||
</figure>
|
||||
</a>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="has-text-centered level-item">
|
||||
<a class="has-text-black" href="https://code.hkoerber.de/hannes/blog"><span class="far fa-copyright"></span> {{ now.Format "2006" }} {{ .Site.Params.author }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
9
layouts/partials/social-follow.html
Normal file
9
layouts/partials/social-follow.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<div class="buttons">
|
||||
{{ range $social := .Site.Params.social }}
|
||||
<a href="{{ $social.link }}" class="button" title="{{ $social.description | default (printf "Me on %s" $social.name|title) }}">
|
||||
<span class="icon is-medium">
|
||||
<i class="{{ $social.style }} {{ $social.icon }} fa-lg"></i>
|
||||
</span>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
Reference in New Issue
Block a user