chore: add basic layouts
This commit is contained in:
parent
69a54284ec
commit
d63e695cf4
11
layouts/_default/article.html
Normal file
11
layouts/_default/article.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format ":date_medium" }}
|
||||||
|
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
|
||||||
|
{{ .Content }}
|
||||||
|
|
||||||
|
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||||
|
{{ end }}
|
14
layouts/_default/baseof.html
Normal file
14
layouts/_default/baseof.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html
|
||||||
|
lang="{{ site.Language.LanguageCode }}"
|
||||||
|
dir="{{ or site.Language.LanguageDirection `ltr` }}"
|
||||||
|
>
|
||||||
|
<head>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>{{ partial "header.html" . }}</header>
|
||||||
|
<main>{{ block "main" . }}{{ end }}</main>
|
||||||
|
<footer>{{ partial "footer.html" . }}</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
14
layouts/_default/home.html
Normal file
14
layouts/_default/home.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ range site.Sections.ByWeight.Reverse }}
|
||||||
|
<h1><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h1>
|
||||||
|
{{ range first 3 .Pages }}
|
||||||
|
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
||||||
|
|
||||||
|
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
<h3><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h3>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
13
layouts/_default/list.html
Normal file
13
layouts/_default/list.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ .Content }}
|
||||||
|
{{ range .Pages }}
|
||||||
|
<h3><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h3>
|
||||||
|
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
||||||
|
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
|
||||||
|
{{ .Summary }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
7
layouts/_default/single.html
Normal file
7
layouts/_default/single.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
|
||||||
|
{{ .Content }}
|
||||||
|
|
||||||
|
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||||
|
{{ end }}
|
13
layouts/partials/footer.html
Normal file
13
layouts/partials/footer.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<p class="flex-space-between">
|
||||||
|
<span>{{ .Site.Copyright }}</span>
|
||||||
|
{{ if eq .Site.Language.LanguageCode "en" }}
|
||||||
|
<span class="hidden-on-mobile"
|
||||||
|
>Used <a href="https://rosepinetheme.com/">Rosé Pine</a> palette</span
|
||||||
|
>
|
||||||
|
{{ else if eq .Site.Language.LanguageCode "pl" }}
|
||||||
|
<span class="hidden-on-mobile"
|
||||||
|
>Wykorzystano paletę kolorów
|
||||||
|
<a href="https://rosepinetheme.com/">Rosé Pine</a></span
|
||||||
|
>
|
||||||
|
{{ end }}
|
||||||
|
</p>
|
8
layouts/partials/head.html
Normal file
8
layouts/partials/head.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
|
||||||
|
{{ partialCached "head/css.html" . }}
|
||||||
|
{{ partialCached "head/js.html" . }}
|
||||||
|
{{ with .OutputFormats.Get "rss" -}}
|
||||||
|
{{ printf `<link rel=%q type=%q href=%q title=%q>` .Rel .MediaType.Type .Permalink site.Title | safeHTML }}
|
||||||
|
{{ end }}
|
14
layouts/partials/head/css.html
Normal file
14
layouts/partials/head/css.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{{- with resources.Get "css/main.css" }}
|
||||||
|
{{- if eq hugo.Environment "development" }}
|
||||||
|
<link rel="stylesheet" href="{{ .RelPermalink }}">
|
||||||
|
{{- else }}
|
||||||
|
{{- with . | minify | fingerprint }}
|
||||||
|
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
<!--TODO: Implement a function for changing theme-->
|
||||||
|
{{- with resources.Get "css/rose-pine-main.css" }}
|
||||||
|
<link rel="stylesheet" href="{{ .RelPermalink }}">
|
||||||
|
{{- end }}
|
12
layouts/partials/head/js.html
Normal file
12
layouts/partials/head/js.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{{- with resources.Get "js/main.js" }}
|
||||||
|
{{- if eq hugo.Environment "development" }}
|
||||||
|
{{- with . | js.Build }}
|
||||||
|
<script src="{{ .RelPermalink }}"></script>
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $opts := dict "minify" true }}
|
||||||
|
{{- with . | js.Build $opts | fingerprint }}
|
||||||
|
<script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
20
layouts/partials/header.html
Normal file
20
layouts/partials/header.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<h1>{{ site.Title }}</h1>
|
||||||
|
<div class='flex-space-between'>
|
||||||
|
<span>
|
||||||
|
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
{{ if .IsTranslated }}
|
||||||
|
{{ range .Translations }}
|
||||||
|
<a href="{{ .Permalink }}">
|
||||||
|
<span class='hidden-on-mobile'>{{ .Site.Language.LanguageCode }}</span>
|
||||||
|
{{ if eq .Site.Language.LanguageCode "en" }}
|
||||||
|
{{ ":gb:" | .RenderString }}
|
||||||
|
{{ else if eq .Site.Language.LanguageCode "pl" }}
|
||||||
|
{{ ":poland:" | .RenderString }}
|
||||||
|
{{ end }}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
</div>
|
51
layouts/partials/menu.html
Normal file
51
layouts/partials/menu.html
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{{- /*
|
||||||
|
Renders a menu for the given menu ID.
|
||||||
|
|
||||||
|
@context {page} page The current page.
|
||||||
|
@context {string} menuID The menu ID.
|
||||||
|
|
||||||
|
@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||||
|
*/}}
|
||||||
|
|
||||||
|
{{- $page := .page }}
|
||||||
|
{{- $menuID := .menuID }}
|
||||||
|
|
||||||
|
{{- with index site.Menus $menuID }}
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "partials/inline/menu/walk.html" }}
|
||||||
|
{{- $page := .page }}
|
||||||
|
{{- range .menuEntries }}
|
||||||
|
{{- $attrs := dict "href" .URL }}
|
||||||
|
{{- if $page.IsMenuCurrent .Menu . }}
|
||||||
|
{{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
|
||||||
|
{{- else if $page.HasMenuCurrent .Menu .}}
|
||||||
|
{{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
|
||||||
|
{{- end }}
|
||||||
|
{{- $name := .Name }}
|
||||||
|
{{- with .Identifier }}
|
||||||
|
{{- with T . }}
|
||||||
|
{{- $name = . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
{{- range $k, $v := $attrs }}
|
||||||
|
{{- with $v }}
|
||||||
|
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
>{{ $name }}</a>
|
||||||
|
{{- with .Children }}
|
||||||
|
<ul>
|
||||||
|
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||||
|
</ul>
|
||||||
|
{{- end }}
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
23
layouts/partials/terms.html
Normal file
23
layouts/partials/terms.html
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{{- /*
|
||||||
|
For a given taxonomy, renders a list of terms assigned to the page.
|
||||||
|
|
||||||
|
@context {page} page The current page.
|
||||||
|
@context {string} taxonomy The taxonomy.
|
||||||
|
|
||||||
|
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||||
|
*/}}
|
||||||
|
|
||||||
|
{{- $page := .page }}
|
||||||
|
{{- $taxonomy := .taxonomy }}
|
||||||
|
|
||||||
|
{{- with $page.GetTerms $taxonomy }}
|
||||||
|
{{- $label := (index . 0).Parent.LinkTitle }}
|
||||||
|
<div>
|
||||||
|
<div>{{ $label }}:</div>
|
||||||
|
<ul>
|
||||||
|
{{- range . }}
|
||||||
|
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{- end }}
|
Loading…
x
Reference in New Issue
Block a user