From 54375572e11d23dacb20c5742d171af3072d7b9c Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Thu, 28 Nov 2024 00:46:17 +0300 Subject: Серьезная реновация MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layouts/_default/baseof.html | 17 +++++++ layouts/_default/home.html | 29 +++++++++++ layouts/_default/list.html | 29 +++++++++++ layouts/_default/rss.xml | 47 +++++++++++++++++ layouts/_default/single.html | 49 ++++++++++++++++++ layouts/partials/comments.html | 32 ++++++++++++ layouts/partials/footer.html | 12 +++++ layouts/partials/head.html | 9 ++++ layouts/partials/head/css.html | 36 +++++++++++++ layouts/partials/head/js.html | 12 +++++ layouts/partials/header.html | 8 +++ layouts/partials/hmenu.html | 51 +++++++++++++++++++ layouts/partials/icon.html | 6 +++ layouts/partials/list.html | 26 ++++++++++ layouts/partials/menu.html | 53 ++++++++++++++++++++ layouts/partials/pagination.html | 98 ++++++++++++++++++++++++++++++++++++ layouts/partials/terms.html | 9 ++++ layouts/pico8/list.html | 50 ++++++++++++++++++ layouts/pico8/single.html | 106 +++++++++++++++++++++++++++++++++++++++ layouts/shortcodes/figure.html | 38 ++++++++++++++ layouts/shortcodes/gist.html | 1 + layouts/shortcodes/quote.html | 15 ++++++ 22 files changed, 733 insertions(+) create mode 100644 layouts/_default/baseof.html create mode 100644 layouts/_default/home.html create mode 100644 layouts/_default/list.html create mode 100644 layouts/_default/rss.xml create mode 100644 layouts/_default/single.html create mode 100644 layouts/partials/comments.html create mode 100644 layouts/partials/footer.html create mode 100644 layouts/partials/head.html create mode 100644 layouts/partials/head/css.html create mode 100644 layouts/partials/head/js.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/hmenu.html create mode 100644 layouts/partials/icon.html create mode 100644 layouts/partials/list.html create mode 100644 layouts/partials/menu.html create mode 100644 layouts/partials/pagination.html create mode 100644 layouts/partials/terms.html create mode 100644 layouts/pico8/list.html create mode 100644 layouts/pico8/single.html create mode 100644 layouts/shortcodes/figure.html create mode 100644 layouts/shortcodes/gist.html create mode 100644 layouts/shortcodes/quote.html (limited to 'layouts') diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..e2e4362 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,17 @@ + + + + {{ partial "head.html" . }} + + +
+
+ {{ partial "header.html" . }} +
+ {{ block "main" . }}{{ end }} +
+ {{ partial "footer.html" . }} +
+
+ + diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..99524d3 --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,29 @@ +{{ define "main" }} +
+ +
+ + {{ $pages := where site.RegularPages "Type" "posts" }} + {{ $paginator := .Paginate $pages 7 }} + {{ range $paginator.Pages }} + {{ partial "list.html" . }} + {{ end }} + +
+
+{{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..860fd5c --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,29 @@ +{{ define "main" }} +
+ +
+ {{ if .Title }} + + {{ end }} + {{ $paginator := .Paginate .Pages 7 }} + {{ range $paginator.Pages }} + {{ partial "list.html" . }} + {{ end }} + +
+
+ +{{ end }} diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..da8fb0c --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,47 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $pages := where $pages "Params.hidden" "!=" true -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} +{{- printf "" | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{- end -}} + {{ range $pages }} + {{- $content := safeHTML (.Summary | html) -}} + {{- if .Params.Description -}} + {{- $content = safeHTML ( .Params.Description | html) -}} + {{- end -}} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Params.Author.email }}{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + + {{ $content }} + + + {{ end }} + + diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..2bc6870 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,49 @@ +{{ define "main" }} +
+ +
+
+
+
+ {{ .Title }} + {{ if .Date }} + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format (or .Site.Params.dateFormat.published "Jan 02, 2006") }} + + {{ end }} +
+
+ {{ if .Params.Image }} + + {{ end }} +
{{ .Summary }}
+
{{ .Content }}
+
+
+ + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} + + + # + + {{ if .Params.Location }} + @ {{.Params.Location}} + {{ end }} +
+
+
+ {{ if .Params.comments }} {{ partial "comments.html" . }} {{ end }} +
+
+{{ end }} diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html new file mode 100644 index 0000000..77b4410 --- /dev/null +++ b/layouts/partials/comments.html @@ -0,0 +1,32 @@ +{{- with .Site.Params.comments -}} +
+
Комментарии
+
+
+ +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..f520850 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,12 @@ + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..6731ae0 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,9 @@ + + + + + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} diff --git a/layouts/partials/head/css.html b/layouts/partials/head/css.html new file mode 100644 index 0000000..c0dc59e --- /dev/null +++ b/layouts/partials/head/css.html @@ -0,0 +1,36 @@ +{{- with resources.Get "css/pico.min.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} +{{- with resources.Get "css/flexboxgrid.min.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} +{{- with resources.Get "css/syntax.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/layouts/partials/head/js.html b/layouts/partials/head/js.html new file mode 100644 index 0000000..18fe842 --- /dev/null +++ b/layouts/partials/head/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..c9b4934 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,8 @@ + diff --git a/layouts/partials/hmenu.html b/layouts/partials/hmenu.html new file mode 100644 index 0000000..7183180 --- /dev/null +++ b/layouts/partials/hmenu.html @@ -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 }} + +{{- 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 }} +
  • + {{ $name }} + {{- with .Children }} + + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/layouts/partials/icon.html b/layouts/partials/icon.html new file mode 100644 index 0000000..72162e8 --- /dev/null +++ b/layouts/partials/icon.html @@ -0,0 +1,6 @@ +{{- $iconFile := resources.GetMatch (printf "icons/%s.svg" .) -}} +{{- if $iconFile -}} + {{- $iconFile.Content | safeHTML -}} +{{- else -}} + {{- errorf "Error: icon '%s.svg' is not found under 'assets/icons' folder" . -}} +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/list.html b/layouts/partials/list.html new file mode 100644 index 0000000..329d47b --- /dev/null +++ b/layouts/partials/list.html @@ -0,0 +1,26 @@ +
    +
    +
    + {{ .LinkTitle }} + {{ if .Date }} + + {{- .Date | time.Format (or .Site.Params.dateFormat.published "02 Jan 2006") -}} + + {{ end }} +
    +
    + {{ if .Params.Image }} + + {{ end }} + {{ if .Description }} + {{ .Description }} + {{ else }} + {{ .Summary }} + {{ if .Truncated }} + Далее... + {{ end }} + {{ end }} +
    + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +
    +
    \ No newline at end of file diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html new file mode 100644 index 0000000..c860b4c --- /dev/null +++ b/layouts/partials/menu.html @@ -0,0 +1,53 @@ +{{- /* +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 }} + +{{- 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 }} +
  • + {{ $name }} + {{- with .Children }} +
      + {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} +
    + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..ee7a171 --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,98 @@ +{{- $validFormats := slice "default" "terse" }} + +{{- $msg1 := "When passing a map to the internal pagination template, one of the elements must be named 'page', and it must be set to the context of the current page." }} +{{- $msg2 := "The 'format' specified in the map passed to the internal pagination template is invalid. Valid choices are: %s." }} + +{{- $page := . }} +{{- $format := "default" }} + +{{- if reflect.IsMap . }} + {{- with .page }} + {{- $page = . }} + {{- else }} + {{- errorf $msg1 }} + {{- end }} + {{- with .format }} + {{- $format = lower . }} + {{- end }} +{{- end }} + +{{- if in $validFormats $format }} + {{- if gt $page.Paginator.TotalPages 1 }} + + {{- end }} +{{- else }} + {{- errorf $msg2 (delimit $validFormats ", ") }} +{{- end -}} + +{{/* --------------------------------------------------------------------- */}} +{{- define "partials/inline/pagination/default" }} + {{- with .Paginator }} + {{- $currentPageNumber := .PageNumber }} + + {{- with .First }} + {{- if ne $currentPageNumber .PageNumber }} +
  • + +
  • + {{- else }} +
  • + +
  • + {{- end }} + {{- end }} + + {{- with .Prev }} +
  • + +
  • + {{- else }} +
  • + +
  • + {{- end }} + + {{- $slots := 5 }} + {{- $start := math.Max 1 (sub .PageNumber (math.Floor (div $slots 2))) }} + {{- $end := math.Min .TotalPages (sub (add $start $slots) 1) }} + {{- if lt (add (sub $end $start) 1) $slots }} + {{- $start = math.Max 1 (add (sub $end $slots) 1) }} + {{- end }} + + {{- range $k := seq $start $end }} + {{- if eq $.Paginator.PageNumber $k }} +
  • + [{{ $k }}] +
  • + {{- else }} +
  • + {{ $k }} +
  • + {{- end }} + {{- end }} + + {{- with .Next }} +
  • + +
  • + {{- else }} +
  • + +
  • + {{- end }} + + {{- with .Last }} + {{- if ne $currentPageNumber .PageNumber }} +
  • + +
  • + {{- else }} +
  • + +
  • + {{- end }} + {{- end }} + {{- end }} +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/terms.html b/layouts/partials/terms.html new file mode 100644 index 0000000..9802a11 --- /dev/null +++ b/layouts/partials/terms.html @@ -0,0 +1,9 @@ +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} + {{- range . }} + {{ .LinkTitle }}  + {{- end }} +{{- end }} diff --git a/layouts/pico8/list.html b/layouts/pico8/list.html new file mode 100644 index 0000000..7158b4a --- /dev/null +++ b/layouts/pico8/list.html @@ -0,0 +1,50 @@ +{{ define "main" }} +
    + +
    + {{ if .Title }} +
    +
    +
    + {{ .Title }} +
    +
    + {{ .Content }} +
    + {{ end }} + {{ $paginator := .Paginate .Pages 7 }} + {{ range $paginator.Pages }} +
    +
    +
    + {{ .LinkTitle }} + {{ if .Date }} + + {{- .Date | time.Format (or .Site.Params.dateFormat.published "02 Jan 2006") -}} + + {{ end }} +
    +
    + {{ if .Description }} + {{ .Description }} + {{ else }} + {{ .Summary }} + {{ end }} + + + + +
    + {{ end }} + +
    +
    + +{{ end }} diff --git a/layouts/pico8/single.html b/layouts/pico8/single.html new file mode 100644 index 0000000..8d63215 --- /dev/null +++ b/layouts/pico8/single.html @@ -0,0 +1,106 @@ +{{ define "main" }} +
    + +
    +
    +
    +
    + {{ .Title }} +
    +
    +
    + +
    +

    Управление

    +

    Игрок 1

    + ←  + →  + ↑  + ↓  + Z C  + X V  +

    Игрок 2

    + S  + F  + E  + D  + Q W  + TAB  +

    Пауза

    + P/Enter + +
    + {{ if .Params.comments }} {{ partial "comments.html" . }} {{ end }} +
    +
    + + + + + +{{ end }} \ No newline at end of file diff --git a/layouts/shortcodes/figure.html b/layouts/shortcodes/figure.html new file mode 100644 index 0000000..a4bae51 --- /dev/null +++ b/layouts/shortcodes/figure.html @@ -0,0 +1,38 @@ + + {{- if .Get "link" -}} + + {{- end -}} + + {{- $u := urls.Parse (.Get "src") -}} + {{- $src := $u.String -}} + {{- if not $u.IsAbs -}} + {{- with or (.Page.Resources.Get $u.Path) (resources.Get $u.Path) -}} + {{- $src = .RelPermalink -}} + {{- end -}} + {{- end -}} + + {{ with .Get + {{- if .Get "link" }}{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} +
    + {{ with (.Get "title") -}} + {{ . }} + {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}

    + {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}{{ end }}

    + {{- end }} +
    + {{- end }} + \ No newline at end of file diff --git a/layouts/shortcodes/gist.html b/layouts/shortcodes/gist.html new file mode 100644 index 0000000..783fa1e --- /dev/null +++ b/layouts/shortcodes/gist.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/layouts/shortcodes/quote.html b/layouts/shortcodes/quote.html new file mode 100644 index 0000000..09bb07c --- /dev/null +++ b/layouts/shortcodes/quote.html @@ -0,0 +1,15 @@ +
    +

    {{ .Inner | markdownify }}

    + {{- if or (.Get "author") (.Get "source") -}} + + {{- if .Get "author" -}} + + {{- .Get "author" -}}{{- if .Get "source" -}}, {{ end -}} + + {{- end -}} + {{- with .Get "url" -}}{{- end -}} + {{ .Get "source" }} + {{- if .Get "url" -}}{{- end -}} + + {{- end -}} +
    \ No newline at end of file -- cgit v1.2.3