From 81618e8bb6f00b3b74c30c1cc75a782cf266efd6 Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Tue, 14 Nov 2023 17:14:20 -0500 Subject: initial commit --- themes/cranky/.gitignore | 2 + themes/cranky/README.md | 33 +++++++ themes/cranky/archetypes/default.md | 6 ++ themes/cranky/archetypes/projects.md | 8 ++ themes/cranky/config.toml | 17 ++++ themes/cranky/layouts/404.html | 69 +++++++++++++++ themes/cranky/layouts/_default/baseof.html | 36 ++++++++ themes/cranky/layouts/_default/list.html | 28 ++++++ themes/cranky/layouts/_default/rss.xml | 26 ++++++ themes/cranky/layouts/_default/single.html | 3 + themes/cranky/layouts/baseof.html | 82 +++++++++++++++++ themes/cranky/layouts/list.html | 5 ++ themes/cranky/layouts/partials/nav.html | 8 ++ themes/cranky/layouts/partials/nextprev.html | 10 +++ themes/cranky/layouts/partials/taglist.html | 13 +++ themes/cranky/layouts/photography/list.html | 16 ++++ themes/cranky/layouts/projects/list.html | 96 ++++++++++++++++++++ themes/cranky/layouts/shortcodes/hidvid.html | 10 +++ themes/cranky/layouts/shortcodes/img.html | 20 +++++ themes/cranky/layouts/shortcodes/prj.html | 116 +++++++++++++++++++++++++ themes/cranky/layouts/shortcodes/tagcloud.html | 3 + themes/cranky/layouts/shortcodes/vid.html | 6 ++ themes/cranky/static/favicon.ico | Bin 0 -> 15086 bytes themes/cranky/static/qr-diag.png | Bin 0 -> 352 bytes themes/cranky/static/rss.svg | 1 + themes/cranky/static/style.css | 101 +++++++++++++++++++++ 26 files changed, 715 insertions(+) create mode 100644 themes/cranky/.gitignore create mode 100644 themes/cranky/README.md create mode 100644 themes/cranky/archetypes/default.md create mode 100644 themes/cranky/archetypes/projects.md create mode 100644 themes/cranky/config.toml create mode 100644 themes/cranky/layouts/404.html create mode 100644 themes/cranky/layouts/_default/baseof.html create mode 100644 themes/cranky/layouts/_default/list.html create mode 100644 themes/cranky/layouts/_default/rss.xml create mode 100644 themes/cranky/layouts/_default/single.html create mode 100644 themes/cranky/layouts/baseof.html create mode 100644 themes/cranky/layouts/list.html create mode 100644 themes/cranky/layouts/partials/nav.html create mode 100644 themes/cranky/layouts/partials/nextprev.html create mode 100644 themes/cranky/layouts/partials/taglist.html create mode 100644 themes/cranky/layouts/photography/list.html create mode 100644 themes/cranky/layouts/projects/list.html create mode 100644 themes/cranky/layouts/shortcodes/hidvid.html create mode 100644 themes/cranky/layouts/shortcodes/img.html create mode 100644 themes/cranky/layouts/shortcodes/prj.html create mode 100644 themes/cranky/layouts/shortcodes/tagcloud.html create mode 100644 themes/cranky/layouts/shortcodes/vid.html create mode 100644 themes/cranky/static/favicon.ico create mode 100644 themes/cranky/static/qr-diag.png create mode 100644 themes/cranky/static/rss.svg create mode 100644 themes/cranky/static/style.css (limited to 'themes/cranky') diff --git a/themes/cranky/.gitignore b/themes/cranky/.gitignore new file mode 100644 index 0000000..9a8a3fc --- /dev/null +++ b/themes/cranky/.gitignore @@ -0,0 +1,2 @@ +# No ctags plz +tags diff --git a/themes/cranky/README.md b/themes/cranky/README.md new file mode 100644 index 0000000..58959fa --- /dev/null +++ b/themes/cranky/README.md @@ -0,0 +1,33 @@ +# Cranky hugo theme (based on lukesmithxyz/lugo) + +A simple Hugo theme I plan on using for my personal website. +I plan to do lot's of things: + +- Study +- Work on home projects +- Take photos +- Blog + +I want a website that handles it all. Projects should be part of some +portfolio I can showcase. Photos should have a dedicated photography +section. My posts shouldn't get mixed with my portfolio. + +This theme aims to do these three things in one simple package. + +## get started + +```sh +hugo new site new-site +cd new-site +git clone https://github.com/lukesmithxyz/lugo themes/lugo +echo "theme = 'cranky'" >> config.toml +cp themes/lugo/static/style.css static/ +``` + +## stuff + +- Makes one RSS feed for the entire site at `/index.xml` +- Stylesheet is in `/style.css` and includes some important stuff for partials. +- If a post is tagged, links to the tags are placed at the bottom of the post. +- `nextprev.html` adds links to the Next and Previous articles to the bottom of a page. +- `taglist.html` links all tags an article is tagged to for related content. diff --git a/themes/cranky/archetypes/default.md b/themes/cranky/archetypes/default.md new file mode 100644 index 0000000..1540cb3 --- /dev/null +++ b/themes/cranky/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +author: 'Benjamin Chausse' +date: {{ .Date }} +draft: true +--- diff --git a/themes/cranky/archetypes/projects.md b/themes/cranky/archetypes/projects.md new file mode 100644 index 0000000..49842d0 --- /dev/null +++ b/themes/cranky/archetypes/projects.md @@ -0,0 +1,8 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +tags: ['Shool Projects'] +draft: true +--- + +Your first paraph will be a short summary on the Projects page. diff --git a/themes/cranky/config.toml b/themes/cranky/config.toml new file mode 100644 index 0000000..e884199 --- /dev/null +++ b/themes/cranky/config.toml @@ -0,0 +1,17 @@ +title = "Website Name" +baseURL = 'https://example.org' +languageCode = 'en-us' + +[params] + # "relatedtext" is the text that appears above the tag list at the bottom of pages. + relatedtext = "Related" + favicon = "/favicon.ico" + + #list items + datesinlist = true + authorsinlist = true + + #footer items + nextprev = true + taglist = true + showrss = true \ No newline at end of file diff --git a/themes/cranky/layouts/404.html b/themes/cranky/layouts/404.html new file mode 100644 index 0000000..8451d1c --- /dev/null +++ b/themes/cranky/layouts/404.html @@ -0,0 +1,69 @@ + + + + + 404 | Chause Benjamin + + + + + + +
¯\_(ツ)_/¯
+

+ Your web search ran into a problem and you should go back to my home page. +
+
+ If you'd like to know more, you can search online for this error: + 404-Page not found +
+ You can also scan the QR code below to for a quick diagnostic: +
+ QR Code +
+ We are collecting no info and will not restart for you. +
+
+ You can return to my home page by + Clicking Here. +

+ + + + diff --git a/themes/cranky/layouts/_default/baseof.html b/themes/cranky/layouts/_default/baseof.html new file mode 100644 index 0000000..57e17ce --- /dev/null +++ b/themes/cranky/layouts/_default/baseof.html @@ -0,0 +1,36 @@ + + + + {{ if not .IsHome }}{{ .Title | title }} | {{ end }}{{ .Site.Title }} + + + + {{ with .Site.Params.favicon }} + {{ end -}} + + {{ if isset .Params "tags" }} + {{ end -}} + + + + + +{{ if .Site.Menus.main }}{{ partial "nav.html" . }}{{ end -}} +
+

{{ block "title" . }}{{ end }}

+
+{{ block "main" . }} +{{ .Content }} +{{ end }} +{{ if .Param "nextprev" }}{{ partial "nextprev.html" . -}}{{ end -}} +{{ if .Param "taglist" }}{{ partial "taglist.html" . }}{{ end -}} +
+
+{{ block "footer" . }} + +{{ end }} + + diff --git a/themes/cranky/layouts/_default/list.html b/themes/cranky/layouts/_default/list.html new file mode 100644 index 0000000..ada7939 --- /dev/null +++ b/themes/cranky/layouts/_default/list.html @@ -0,0 +1,28 @@ +{{ define "title" -}} +{{ .Title | title }} +{{- end }} +{{ define "main" -}} +{{ .Content }} +
+{{- range.Pages }} +
+ + {{ .Title }}
+ {{ .Summary | truncate 220 " ..." }} + + {{- if .Param "authorsinlist" }} + {{ with .Params.authors }} + by + {{ delimit . ", " " and " }} + {{end}} + {{ end -}} +
+{{- end }} +
+{{- end }} diff --git a/themes/cranky/layouts/_default/rss.xml b/themes/cranky/layouts/_default/rss.xml new file mode 100644 index 0000000..38dbe3d --- /dev/null +++ b/themes/cranky/layouts/_default/rss.xml @@ -0,0 +1,26 @@ + + + {{ .Site.Title }} + {{ .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.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end }} + {{ range .Site.RegularPages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{- .Content | html -}} + + {{ end }} + + diff --git a/themes/cranky/layouts/_default/single.html b/themes/cranky/layouts/_default/single.html new file mode 100644 index 0000000..56c5a11 --- /dev/null +++ b/themes/cranky/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{ define "title" -}} +{{ .Title }} +{{- end }} diff --git a/themes/cranky/layouts/baseof.html b/themes/cranky/layouts/baseof.html new file mode 100644 index 0000000..10a6263 --- /dev/null +++ b/themes/cranky/layouts/baseof.html @@ -0,0 +1,82 @@ + + + + {{ if not .IsHome }}{{ .Title | title }} | {{ end }}{{ .Site.Title }} + + + + {{ with .Site.Params.favicon }} + {{ end -}} + + {{ if isset .Params "tags" }} + {{ end -}} + + + + + +{{ if .Site.Menus.main }}{{ partial "nav.html" . }}{{ end -}} +
+
+ + +

{{ block "title" . }}{{ end }}

+ +
+
+{{ block "main" . }} +{{ .Content }} +{{ end }} +{{ if .Param "nextprev" }}{{ partial "nextprev.html" . -}}{{ end -}} +{{ if .Param "taglist" }}{{ partial "taglist.html" . }}{{ end -}} +
+
+{{ block "footer" . }} + +{{ end }} + + + diff --git a/themes/cranky/layouts/list.html b/themes/cranky/layouts/list.html new file mode 100644 index 0000000..1ef8cfc --- /dev/null +++ b/themes/cranky/layouts/list.html @@ -0,0 +1,5 @@ +{{ define "title" -}} {{ .Title | title }} {{- end }} {{ define "main" -}} {{ +.Content }} + +
+{{- end }} diff --git a/themes/cranky/layouts/partials/nav.html b/themes/cranky/layouts/partials/nav.html new file mode 100644 index 0000000..a7318fe --- /dev/null +++ b/themes/cranky/layouts/partials/nav.html @@ -0,0 +1,8 @@ + diff --git a/themes/cranky/layouts/partials/nextprev.html b/themes/cranky/layouts/partials/nextprev.html new file mode 100644 index 0000000..099f16d --- /dev/null +++ b/themes/cranky/layouts/partials/nextprev.html @@ -0,0 +1,10 @@ +{{ if or .Next .Prev -}} +
+{{- with .Prev }} +
Previous:
{{.Title}}
+{{ end -}} +{{- with .Next -}} +
Next:
{{.Title}}
+{{ end -}} +
+{{ end -}} diff --git a/themes/cranky/layouts/partials/taglist.html b/themes/cranky/layouts/partials/taglist.html new file mode 100644 index 0000000..757db6f --- /dev/null +++ b/themes/cranky/layouts/partials/taglist.html @@ -0,0 +1,13 @@ + {{- if isset .Params "tags" -}} + {{- $tagsLen := len .Params.tags -}} + {{- if gt $tagsLen 0 -}} +
+ {{- with .Site.Params.relatedtext }}{{ . }}
{{ end -}} + {{- range $k, $v := .Params.tags -}} + {{- $url := printf "tags/%s" (. | urlize | lower) -}} + {{ . | title }} + {{- if lt $k (sub $tagsLen 1) }} · {{ end -}} + {{- end -}} +
+ {{- end -}} + {{- end }} diff --git a/themes/cranky/layouts/photography/list.html b/themes/cranky/layouts/photography/list.html new file mode 100644 index 0000000..77a4a24 --- /dev/null +++ b/themes/cranky/layouts/photography/list.html @@ -0,0 +1,16 @@ +{{ define "title" -}} {{ .Title | title }} {{- end }} {{ define "main" -}} {{ +.Content }} + + +{{- end }} diff --git a/themes/cranky/layouts/projects/list.html b/themes/cranky/layouts/projects/list.html new file mode 100644 index 0000000..9dc5286 --- /dev/null +++ b/themes/cranky/layouts/projects/list.html @@ -0,0 +1,96 @@ +{{ define "title" -}} +{{ .Title | title }} +{{- end }} +{{ define "main" -}} +{{ .Content }} + +{{- range.Pages }} +
+ {{ .Title }} + {{- if .Param "datesinlist" }} {{ end -}} + {{ $summary := index (split .Content "

") 0 }} +

{{ $summary | plainify }}

+ {{- if .Param "authorsinlist" }} + {{ with .Params.authors }} + by + {{ delimit . ", " " and " }} + {{end}} + Read more... +
+ {{ end -}} +{{- end }} +{{- end }} diff --git a/themes/cranky/layouts/shortcodes/hidvid.html b/themes/cranky/layouts/shortcodes/hidvid.html new file mode 100644 index 0000000..14f592d --- /dev/null +++ b/themes/cranky/layouts/shortcodes/hidvid.html @@ -0,0 +1,10 @@ +
+ Click to reveal video. + +
diff --git a/themes/cranky/layouts/shortcodes/img.html b/themes/cranky/layouts/shortcodes/img.html new file mode 100644 index 0000000..ff7959b --- /dev/null +++ b/themes/cranky/layouts/shortcodes/img.html @@ -0,0 +1,20 @@ + +
+ {{- with .Get "link"}}{{ end -}} + {{.}} + {{- if .Get "link"}}{{ end -}} + {{- with .Get "caption" -}} +
+ {{- . -}} +
+ {{- end -}} +
diff --git a/themes/cranky/layouts/shortcodes/prj.html b/themes/cranky/layouts/shortcodes/prj.html new file mode 100644 index 0000000..246a8e1 --- /dev/null +++ b/themes/cranky/layouts/shortcodes/prj.html @@ -0,0 +1,116 @@ +
+ + {{ range first 3 (where .Site.RegularPages "Section" "projects") }} + +

{{ .Title }}

+
+
+
+
+

{{ .Summary | truncate 220 "..." }}

+
+ + {{ end }} +
+More Projects + diff --git a/themes/cranky/layouts/shortcodes/tagcloud.html b/themes/cranky/layouts/shortcodes/tagcloud.html new file mode 100644 index 0000000..0cf0118 --- /dev/null +++ b/themes/cranky/layouts/shortcodes/tagcloud.html @@ -0,0 +1,3 @@ +{{ if isset .Site.Taxonomies "tags" }}{{ if not (eq (len .Site.Taxonomies.tags) 0) }} {{ end }}{{ end }} diff --git a/themes/cranky/layouts/shortcodes/vid.html b/themes/cranky/layouts/shortcodes/vid.html new file mode 100644 index 0000000..4c612fe --- /dev/null +++ b/themes/cranky/layouts/shortcodes/vid.html @@ -0,0 +1,6 @@ + diff --git a/themes/cranky/static/favicon.ico b/themes/cranky/static/favicon.ico new file mode 100644 index 0000000..8580b50 Binary files /dev/null and b/themes/cranky/static/favicon.ico differ diff --git a/themes/cranky/static/qr-diag.png b/themes/cranky/static/qr-diag.png new file mode 100644 index 0000000..2e58ca2 Binary files /dev/null and b/themes/cranky/static/qr-diag.png differ diff --git a/themes/cranky/static/rss.svg b/themes/cranky/static/rss.svg new file mode 100644 index 0000000..59ea164 --- /dev/null +++ b/themes/cranky/static/rss.svg @@ -0,0 +1 @@ + diff --git a/themes/cranky/static/style.css b/themes/cranky/static/style.css new file mode 100644 index 0000000..a53ad99 --- /dev/null +++ b/themes/cranky/static/style.css @@ -0,0 +1,101 @@ +:root { + --std-bg: #111a1f; + --light-bg: #222d32; + --header-fg: #f2f1f0; + --text-fg: #c0c7ca; + --link-fg-std: #ebcb88; + --link-fg-hover: #b7416e; +} + +body { + font-family: sans-serif; + color: var(--text-fg); + background: var(--std-bg); +} + +main { + max-width: 800px; + margin: auto; +} + +img { + max-width: 100%; +} + +header h1 { + color: var(--header-fg); + text-align: center; +} + +footer { + text-align: center; + clear: both; +} + +a { + color: var(--link-fg-std); + text-decoration: none; +} + +a:hover { + color: var(--link-fg-hover); +} + +/* For TAGLIST.HTML */ +.taglist { + text-align: center; + clear: both; +} + +/* For NEXTPREV.HTML */ +#nextprev { + /* The container for both the previous and next articles. */ +} +#prevart { + float: left; + text-align: left; +} +#nextart { + float: right; + text-align: right; +} +#nextart, +#prevart { + max-width: 33%; +} + +/* Photo Gallery Stuff */ + +.photo-gallery { + column-count: 3; + column-gap: 20px; + min-width: 300px; + width: 100%; + max-width: 1500px; +} + +.photo-gallery > a { + display: inline-block; + padding: 20 20px; + margin: auto; + width: 100%; + box-sizing: border-box; +} + +@media screen and (max-width: 600) { + .photo-gallery { + column-count: 1; + } +} + +@media screen and (min-width: 1025px) { + .photo-gallery { + column-count: 3; + } +} + +@media screen and (min-width: 1200px) { + .photo-gallery { + column-count: 4; + } +} -- cgit v1.2.3