From 4e77e64ab2368d533db9e470aa8b79f463129fbb Mon Sep 17 00:00:00 2001 From: DarkCat09 Date: Sat, 4 Nov 2023 11:44:43 +0400 Subject: [PATCH] Hugo theme skeleton --- themes/qogir/LICENSE | 21 +++++++++ themes/qogir/README.md | 7 +++ themes/qogir/archetypes/default.md | 5 +++ themes/qogir/assets/css/main.css | 22 ++++++++++ themes/qogir/assets/js/main.js | 1 + themes/qogir/hugo.toml | 23 ++++++++++ themes/qogir/layouts/_default/baseof.html | 17 ++++++++ themes/qogir/layouts/_default/home.html | 7 +++ themes/qogir/layouts/_default/list.html | 8 ++++ themes/qogir/layouts/_default/single.html | 10 +++++ themes/qogir/layouts/partials/footer.html | 1 + themes/qogir/layouts/partials/head.html | 5 +++ themes/qogir/layouts/partials/head/css.html | 9 ++++ themes/qogir/layouts/partials/head/js.html | 12 ++++++ themes/qogir/layouts/partials/header.html | 2 + themes/qogir/layouts/partials/menu.html | 45 ++++++++++++++++++++ themes/qogir/layouts/partials/terms.html | 23 ++++++++++ themes/qogir/static/favicon.ico | Bin 0 -> 15406 bytes themes/qogir/theme.toml | 31 ++++++++++++++ 19 files changed, 249 insertions(+) create mode 100644 themes/qogir/LICENSE create mode 100644 themes/qogir/README.md create mode 100644 themes/qogir/archetypes/default.md create mode 100644 themes/qogir/assets/css/main.css create mode 100644 themes/qogir/assets/js/main.js create mode 100644 themes/qogir/hugo.toml create mode 100644 themes/qogir/layouts/_default/baseof.html create mode 100644 themes/qogir/layouts/_default/home.html create mode 100644 themes/qogir/layouts/_default/list.html create mode 100644 themes/qogir/layouts/_default/single.html create mode 100644 themes/qogir/layouts/partials/footer.html create mode 100644 themes/qogir/layouts/partials/head.html create mode 100644 themes/qogir/layouts/partials/head/css.html create mode 100644 themes/qogir/layouts/partials/head/js.html create mode 100644 themes/qogir/layouts/partials/header.html create mode 100644 themes/qogir/layouts/partials/menu.html create mode 100644 themes/qogir/layouts/partials/terms.html create mode 100644 themes/qogir/static/favicon.ico create mode 100644 themes/qogir/theme.toml diff --git a/themes/qogir/LICENSE b/themes/qogir/LICENSE new file mode 100644 index 0000000..4942e71 --- /dev/null +++ b/themes/qogir/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Andrey Chechkenev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/qogir/README.md b/themes/qogir/README.md new file mode 100644 index 0000000..03fdd45 --- /dev/null +++ b/themes/qogir/README.md @@ -0,0 +1,7 @@ +# Qogir Dark Hugo Theme + +## Features + +## Installation + +## Configuration diff --git a/themes/qogir/archetypes/default.md b/themes/qogir/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/themes/qogir/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/themes/qogir/assets/css/main.css b/themes/qogir/assets/css/main.css new file mode 100644 index 0000000..166ade9 --- /dev/null +++ b/themes/qogir/assets/css/main.css @@ -0,0 +1,22 @@ +body { + color: #222; + font-family: sans-serif; + line-height: 1.5; + margin: 1rem; + max-width: 768px; +} + +header { + border-bottom: 1px solid #222; + margin-bottom: 1rem; +} + +footer { + border-top: 1px solid #222; + margin-top: 1rem; +} + +a { + color: #00e; + text-decoration: none; +} diff --git a/themes/qogir/assets/js/main.js b/themes/qogir/assets/js/main.js new file mode 100644 index 0000000..e2aac52 --- /dev/null +++ b/themes/qogir/assets/js/main.js @@ -0,0 +1 @@ +console.log('This site was generated by Hugo.'); diff --git a/themes/qogir/hugo.toml b/themes/qogir/hugo.toml new file mode 100644 index 0000000..af9f3b8 --- /dev/null +++ b/themes/qogir/hugo.toml @@ -0,0 +1,23 @@ +# baseURL = 'https://example.org/' +# languageCode = 'en-us' +# title = 'My New Hugo Site' + +[[menus.main]] +name = 'Home' +pageRef = '/' +weight = 10 + +[[menus.main]] +name = 'Posts' +pageRef = '/posts' +weight = 20 + +[[menus.main]] +name = 'Tags' +pageRef = '/tags' +weight = 30 + +[module] +[module.hugoVersion] +extended = false +min = "v0.116.0" diff --git a/themes/qogir/layouts/_default/baseof.html b/themes/qogir/layouts/_default/baseof.html new file mode 100644 index 0000000..ce9613a --- /dev/null +++ b/themes/qogir/layouts/_default/baseof.html @@ -0,0 +1,17 @@ + + + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+ + + diff --git a/themes/qogir/layouts/_default/home.html b/themes/qogir/layouts/_default/home.html new file mode 100644 index 0000000..0df6597 --- /dev/null +++ b/themes/qogir/layouts/_default/home.html @@ -0,0 +1,7 @@ +{{ define "main" }} + {{ .Content }} + {{ range site.RegularPages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/qogir/layouts/_default/list.html b/themes/qogir/layouts/_default/list.html new file mode 100644 index 0000000..50fc92d --- /dev/null +++ b/themes/qogir/layouts/_default/list.html @@ -0,0 +1,8 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/qogir/layouts/_default/single.html b/themes/qogir/layouts/_default/single.html new file mode 100644 index 0000000..7e286c8 --- /dev/null +++ b/themes/qogir/layouts/_default/single.html @@ -0,0 +1,10 @@ +{{ define "main" }} +

{{ .Title }}

+ + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/themes/qogir/layouts/partials/footer.html b/themes/qogir/layouts/partials/footer.html new file mode 100644 index 0000000..a7cd916 --- /dev/null +++ b/themes/qogir/layouts/partials/footer.html @@ -0,0 +1 @@ +

Copyright {{ now.Year }}. All rights reserved.

diff --git a/themes/qogir/layouts/partials/head.html b/themes/qogir/layouts/partials/head.html new file mode 100644 index 0000000..02c2240 --- /dev/null +++ b/themes/qogir/layouts/partials/head.html @@ -0,0 +1,5 @@ + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} diff --git a/themes/qogir/layouts/partials/head/css.html b/themes/qogir/layouts/partials/head/css.html new file mode 100644 index 0000000..91b928d --- /dev/null +++ b/themes/qogir/layouts/partials/head/css.html @@ -0,0 +1,9 @@ +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/qogir/layouts/partials/head/js.html b/themes/qogir/layouts/partials/head/js.html new file mode 100644 index 0000000..18fe842 --- /dev/null +++ b/themes/qogir/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/themes/qogir/layouts/partials/header.html b/themes/qogir/layouts/partials/header.html new file mode 100644 index 0000000..7980a00 --- /dev/null +++ b/themes/qogir/layouts/partials/header.html @@ -0,0 +1,2 @@ +

{{ site.Title }}

+{{ partial "menu.html" (dict "menuID" "main" "page" .) }} diff --git a/themes/qogir/layouts/partials/menu.html b/themes/qogir/layouts/partials/menu.html new file mode 100644 index 0000000..8f72130 --- /dev/null +++ b/themes/qogir/layouts/partials/menu.html @@ -0,0 +1,45 @@ +{{- /* +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 }} +
  • + {{ or (T .Identifier) .Name | safeHTML }} + {{- with .Children }} + + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/themes/qogir/layouts/partials/terms.html b/themes/qogir/layouts/partials/terms.html new file mode 100644 index 0000000..47cf6e4 --- /dev/null +++ b/themes/qogir/layouts/partials/terms.html @@ -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 taxonony. + +@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} +
    +
    {{ $label }}:
    + +
    +{{- end }} diff --git a/themes/qogir/static/favicon.ico b/themes/qogir/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..67f8b777851849527933b78b1f98bd564d8255d1 GIT binary patch literal 15406 zcmeI3%WEH16vro|f`O{FV5Nc>unpZA42Xe(zeP4Fn0Fu>#YKe(c41L;qszMJ-bXDi z>L1W57+rSdLS5OG#!V^IKxvbj6n@gC#QOREdT$vg^US^Tf(#t)%-r+%o^#KA&hHll zeL;V)Z(l$;7%c7yg4co|7#w``eB{|6_?CCW!=`>H2!44k2#&ym2ojIpQ{=j)r>9?; zot^z+et!PXxw*M}BHinq>XMXKboc`~d=&+uPNklCgSOc%pC zkdxhQd};55Lm1#0hSD%6>D`)|ni^JI((I(w8QJADo{YL>VsSr%Ckg*U$-2s8+X=sG z{FIYm*irl0d{!y{D{f@u4p-n@#^$z+5S`e?RJu8p?Lq>0x`@}vIu7kfT z8Od5bMN4D{&~ch_$NgBcM#n%A`@~N^|ABlif3x_ci!t%#JQ&cWarai1&Z6~TkWOa9 zw}_GQ!9UZ~o(wFidYcy6DoF0rq<yz2-5e zTyl`ty!pUE-U+vC*KNN6@vklal>5+`8rxs}uh#LW?(tW105Q;7(Wx&Lm6uJ~)`e`X z^RF;~r?T~jY{_Q$A_iJ-m%jcoHny$5gr&~)r;P=1C}sVP-puv4#i0EM{FfkKed1Em zy4%`}me{Us{}sjpj#~DgVGO#rYen+cu9FI~=yTd>3AzfcLA`SnbFXu|pT#pXGc&>2(2!(N+83v|%y-!B zH|JI#fb9Zw1NxWuxyA*n7Wlp875YYr(Gs{zKTE)l_AX1Q6wmo%>|9k+6aP<2dk>lant}U*_E8rG3D-5uK;;yPx-8W%=Kfda!;c%(fl0 ze&XHrrr^uM0oGf>Z1DFnHhqLl>1%^5TzTuk|3H|*ul4(0o-gE;Z3>^kyq|VB2&R>$ z;3|M)g|TQza{|6pwl*t(FLk^UW^(9F%1?ditXdD)PeI>TZP%AQuxqb<#h1RS^?+T! z8Ck2^t}lCF{~KLC_TZ^~%@^LN9`I|g*;@RHecST~{FkHc(w1kiUj^&=w&0Dy`6E8G zdj4Yla1TF#N4vKWh(zA3A5dm)G|O@NEjS_AkOu zAJA`duQdQy-kiND%)+h<+}gi?*&_V<{_uGJE+68oBmMcH-Rl|t`yCgB%e&5Zsqq=>yyS- z+H#S&ls3nqdmTC0`~O|AJhXPJKi1jW{{U!5hztM# literal 0 HcmV?d00001 diff --git a/themes/qogir/theme.toml b/themes/qogir/theme.toml new file mode 100644 index 0000000..3ba3164 --- /dev/null +++ b/themes/qogir/theme.toml @@ -0,0 +1,31 @@ +name = 'Theme name' +license = 'MIT' +licenselink = 'https://github.com/owner/repo/LICENSE' +description = 'Theme description' + +# The home page of the theme, where the source can be found +homepage = 'https://github.com/owner/repo' + +# If you have a running demo of the theme +demosite = 'https://owner.github.io/repo' + +# Taxonomy terms +tags = ['blog', 'company'] +features = ['some', 'awesome', 'features'] + +# If the theme has multiple authors +authors = [ + {name = 'Name of author', homepage = 'Website of author'}, + {name = 'Name of author', homepage = 'Website of author'} +] + +# If the theme has a single author +[author] + name = 'Your name' + homepage = 'Your website' + +# If porting an existing theme +[original] + author = 'Name of original author' + homepage = 'Website of original author' + repo = 'https://github.com/owner/repo'