From 743d1e3d4c421385111dfd63482cd92a5fff02c1 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Mon, 1 Dec 2025 22:27:26 -0800 Subject: move micro to its own site (better compatability with indieweb feats) --- indieweb-micro/themes/MinIndie/LICENSE.md | 22 ++ indieweb-micro/themes/MinIndie/README.md | 100 +++++++++ .../themes/MinIndie/archetypes/default.md | 4 + indieweb-micro/themes/MinIndie/archetypes/posts.md | 11 + .../layouts/_default/_markup/render-image.html | 11 + .../themes/MinIndie/layouts/_default/baseof.html | 26 +++ .../themes/MinIndie/layouts/_default/list.html | 57 +++++ .../themes/MinIndie/layouts/_default/single.html | 74 ++++++ .../themes/MinIndie/layouts/_default/summary.html | 13 ++ .../themes/MinIndie/layouts/_default/taxonomy.html | 45 ++++ .../themes/MinIndie/layouts/bookmarks/single.html | 44 ++++ indieweb-micro/themes/MinIndie/layouts/index.html | 8 + .../themes/MinIndie/layouts/notes/notes.html | 42 ++++ .../themes/MinIndie/layouts/notes/single.html | 44 ++++ .../MinIndie/layouts/partials/article-extra.html | 0 .../layouts/partials/article-old-content.html | 6 + .../layouts/partials/article-precontent.html | 0 .../layouts/partials/article-prevnext.html | 17 ++ .../MinIndie/layouts/partials/article-related.html | 10 + .../MinIndie/layouts/partials/bio-hcard.html | 8 + .../MinIndie/layouts/partials/footer-extra.html | 0 .../themes/MinIndie/layouts/partials/footer.html | 14 ++ .../MinIndie/layouts/partials/head-extra.html | 20 ++ .../themes/MinIndie/layouts/partials/header.html | 17 ++ .../MinIndie/layouts/partials/homepage-body.html | 5 + .../MinIndie/layouts/partials/pagination.html | 9 + .../layouts/partials/single-title-extra.html | 3 + .../themes/MinIndie/static/css/style.css | 250 +++++++++++++++++++++ indieweb-micro/themes/MinIndie/theme.toml | 17 ++ 29 files changed, 877 insertions(+) create mode 100644 indieweb-micro/themes/MinIndie/LICENSE.md create mode 100644 indieweb-micro/themes/MinIndie/README.md create mode 100644 indieweb-micro/themes/MinIndie/archetypes/default.md create mode 100644 indieweb-micro/themes/MinIndie/archetypes/posts.md create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/_markup/render-image.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/baseof.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/list.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/single.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/summary.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/_default/taxonomy.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/bookmarks/single.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/index.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/notes/notes.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/notes/single.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/article-extra.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/article-old-content.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/article-precontent.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/article-prevnext.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/article-related.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/bio-hcard.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/footer-extra.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/footer.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/head-extra.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/header.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/homepage-body.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/pagination.html create mode 100644 indieweb-micro/themes/MinIndie/layouts/partials/single-title-extra.html create mode 100644 indieweb-micro/themes/MinIndie/static/css/style.css create mode 100644 indieweb-micro/themes/MinIndie/theme.toml (limited to 'indieweb-micro/themes') diff --git a/indieweb-micro/themes/MinIndie/LICENSE.md b/indieweb-micro/themes/MinIndie/LICENSE.md new file mode 100644 index 0000000..630c225 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/LICENSE.md @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 Vimux + +Copyright (c) 2020 colorchestra + +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/indieweb-micro/themes/MinIndie/README.md b/indieweb-micro/themes/MinIndie/README.md new file mode 100644 index 0000000..cef0972 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/README.md @@ -0,0 +1,100 @@ +# MinIndie + +This theme is **heavily** based on [smol](https://themes.gohugo.io/themes/smol/), a minimalist hugo theme, thanks to their work! + +MinIndie is a very minimal hugo theme with indieweb markups. A demo can be found on my blog at https://bacardi55.io + +## Features + +- No JavaScript +- No Google spyware or tracking of any kind +- No other external dependencies, embedded fonts or comment sections +- Dark mode support (depending on your OS's setting) +- Indieweb markup + +## Installation + +In your Hugo site `themes` directory, run: + +``` +git clone https:// +``` + +Next, open `config.toml` in the base of the Hugo site and ensure the theme option is set to `smol`. + +``` +theme = "minindie" +``` + +Lastly, add the following lines to your `config.toml` to set site parameters and make use of all the menu entries in the header and footer sections if you need them. + +``` +title = "Site Name" +baseURL = "https://your.domain.tld" +copyright = "A copyright message" + +# Parameters +[params] + subtitle = "ἕν οἶδα ὅτι οὐδὲν οἶδα" + dateFmt = "Monday, January 2, 2006" + # tagPostOlderThanXDays = 555 # To display a message if the post is older than this number of days. + # xslpath = "/rss.xsl" # If you want to theme your RSS feed. Optional. + +[params.author] + name = "your name" # required for h-card + email = "your@email.tld" + avatar = "/path/to/avatar.png" + bio = "A bio description
Html is accepted." + +[params.indieweb] + authorizationEndpoint = "https://indieauth.com/auth" + tokenEndpoint = "https://tokens.indieauth.com/token" + webmentionEndpoint = "https://webmention.io/your.domain.tld/webmention" + relmepgp = "/path/to//public/key.asc" + [[params.indieweb.relme]] + url = "https://" + [[params.indieweb.relme]] + url = "https://" + +# Menus: +## Header +[menu] + [[menu.main]] + identifier = "posts" + name = "Posts" + url = "/posts/" + weight = 1 + + [[menu.main]] + identifier = "categories" + name = "Categories" + url = "/categories/" + weight = 2 + + [[menu.main]] + identifier = "tags" + name = "Tags" + url = "/tags/" + weight = 3 + +## Footer + [[menu.footer]] + name = "Github" + url = "https://github.com/example" + weight = 1 + + [[menu.footer]] + name = "Mastodon" + url = "https://example.com/@user" + weight = 2 + + [[menu.footer]] + name = "Imprint" + url = "/imprint" + weight = 3 + +``` + +## License + +This theme is released under the [MIT license](https://github.com/colorchestra/smol/blob/master/LICENSE). diff --git a/indieweb-micro/themes/MinIndie/archetypes/default.md b/indieweb-micro/themes/MinIndie/archetypes/default.md new file mode 100644 index 0000000..ef75f76 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/archetypes/default.md @@ -0,0 +1,4 @@ ++++ +title = "{{ replace .Name "-" " " | title }}" +date = {{ .Date }} ++++ diff --git a/indieweb-micro/themes/MinIndie/archetypes/posts.md b/indieweb-micro/themes/MinIndie/archetypes/posts.md new file mode 100644 index 0000000..11182ff --- /dev/null +++ b/indieweb-micro/themes/MinIndie/archetypes/posts.md @@ -0,0 +1,11 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +slug: {{ now.Format "2006-01-02" }}-{{ .Name | urlize }} +type: posts +draft: true +categories: + - default +tags: + - default +--- diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/_markup/render-image.html b/indieweb-micro/themes/MinIndie/layouts/_default/_markup/render-image.html new file mode 100644 index 0000000..41008ca --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/_markup/render-image.html @@ -0,0 +1,11 @@ +{{ if .Title }} +
+ {{ .Text }} +
{{ .Title }}
+
+{{ else }} +
+ {{ .Text }} +
+{{ end }} + diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/baseof.html b/indieweb-micro/themes/MinIndie/layouts/_default/baseof.html new file mode 100644 index 0000000..e8b6411 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/baseof.html @@ -0,0 +1,26 @@ + + + + + + + + {{ .Title }} | {{ .Site.Title }} + {{ with .Site.Params.description }}{{ end }} + {{ with .Site.Params.author }}{{ end }} + + {{ range .Site.Params.customCSS -}} + + {{- end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf `` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }} + {{- end }} + + {{ partial "head-extra.html" . }} + + + {{ partial "header" . }} + {{ block "main" . }}{{ end }} + {{ partial "footer" . }} + + diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/list.html b/indieweb-micro/themes/MinIndie/layouts/_default/list.html new file mode 100644 index 0000000..f3639a1 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/list.html @@ -0,0 +1,57 @@ +{{ define "main" }} +
+ {{ $pageKind := .Kind }} + {{ if or .Title .Content }} +
+ {{ if .Title }} +

+ {{ .Title }} + {{ partial "single-title-extra.html" . }} +

+ {{ end }} + {{ with .Content }}
{{ . }}
{{ end }} +
+ {{ end }} + +
+ {{ $yearCptr := "" }} + {{ $monthCptr := "" }} + {{ range .Paginator.Pages }} + {{ $postYear := .Date.Year }} + {{ $postMonth := .Date.Month }} + + {{ if or (ne $monthCptr $postMonth) (and (eq $yearCptr "") (eq $monthCptr "")) }} + {{ $yearCptr = $postYear }} + {{ $monthCptr = $postMonth }} + {{ if and (ne $yearCptr "") (ne $monthCptr "") }} + +
+ {{ end }} +
+

{{ $monthCptr }} {{ $yearCptr }}

+
    + {{ end }} + +
  • + +
    + : + {{ if eq $pageKind "term" }}[{{ .Type }}] {{ end }} + + {{.Title }} + +
    +
  • + + {{ $yearCptr = $postYear }} + {{ $monthCptr = $postMonth }} + {{ end }} +
+
+ + + {{ partial "pagination.html" . }} +
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/single.html b/indieweb-micro/themes/MinIndie/layouts/_default/single.html new file mode 100644 index 0000000..425efc1 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/single.html @@ -0,0 +1,74 @@ +{{ define "main" }} +{{ $ageDays := div (sub now.Unix .Date.Unix) 86400 }} +
+
+

{{ .Title }}

+ + + + {{ if .Date }} +
+ + - Permalink +
+ {{ end }} + + {{- if or .Params.categories .Params.tags -}} + + {{- end -}} + + {{- with .Site.Params.tagPostOlderThanXDays -}} + {{- if and (gt $ageDays .) (eq $.Type "posts") -}} + {{ partial "article-old-content.html" . }} + {{- end -}} + {{- end -}} + + {{- partial "article-precontent.html" . -}} + + {{- if .Params.toc -}} +
+

Table of Content

+ +
+ {{- end -}} + +
+ {{ .Content }} +
+ + {{ partial "article-extra.html" . }} + + {{ if .Site.Params.enableNextPrevPages }} + {{ partial "article-prevnext.html" . }} + {{ end }} + + {{ if .Site.Params.enableRelatedPages }} + {{ partial "article-related.html" . }} + {{ end }} +
+
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/summary.html b/indieweb-micro/themes/MinIndie/layouts/_default/summary.html new file mode 100644 index 0000000..a347932 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/summary.html @@ -0,0 +1,13 @@ +
+

{{ .Title }}

+ + {{ range .Params.tags }} + {{ . }} + {{ end }} +
+ {{ .Summary }} + {{ if .Truncated }} + Read more... + {{ end }} +
+
diff --git a/indieweb-micro/themes/MinIndie/layouts/_default/taxonomy.html b/indieweb-micro/themes/MinIndie/layouts/_default/taxonomy.html new file mode 100644 index 0000000..3e10031 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/_default/taxonomy.html @@ -0,0 +1,45 @@ +{{ define "main" }} +{{ $pageTitle := .Title }} +
+
+

+ {{ .Title }} + + RSS icon + +

+
+ {{ .Content }} +
+ {{- if eq .Kind "taxonomy" -}} + + {{ end }} + {{- if eq .Kind "term" -}} +

Content linked to the taxonomy term « {{ strings.ToUpper .Title }} »:

+ {{ $currentType := "" }} + {{ range sort .Pages.ByDate.Reverse ".Type" "desc" }} + {{ if or (eq $currentType "") (ne $currentType .Type) }} + {{ if ne $currentType "" }} + +
+ {{ end }} +
+

{{ strings.FirstUpper .Type }}

+
    + {{ end }} +
  • + + {{ .Title }} +
  • + {{ $currentType = .Type }} + {{ end }} +
+
+ {{- end -}} + +
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/bookmarks/single.html b/indieweb-micro/themes/MinIndie/layouts/bookmarks/single.html new file mode 100644 index 0000000..8ee4bf1 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/bookmarks/single.html @@ -0,0 +1,44 @@ +{{ define "main" }} +
+
+ + +

+ + {{ .Title }} + +

+
+ + - Permalink +
+
+ Tags: + {{ range .Params.tags }} + {{ . }} + {{ end }} +
+ + {{ with .Params.description }} +
+ Description: +
{{ . }}
+
+ {{ end }} + + {{ with .Content }} +
{{ . }}
+ {{ end }} + +
+ → + {{ .Params.bookmark_url }} +

+
+ + {{ partial "article-extra.html" . }} +
+
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/index.html b/indieweb-micro/themes/MinIndie/layouts/index.html new file mode 100644 index 0000000..777a2fd --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/index.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+
+

{{ .Site.Title }}

+ {{- partial "bio-hcard.html" . -}} + {{- partial "homepage-body.html" . -}} +
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/notes/notes.html b/indieweb-micro/themes/MinIndie/layouts/notes/notes.html new file mode 100644 index 0000000..e0e0d17 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/notes/notes.html @@ -0,0 +1,42 @@ +{{ define "main" }} +
+ {{ $pageKind := .Kind }} + {{ if or .Title .Content }} +
+ {{ with .Title }} +

+ {{ . }} + RSS icon + h-feed icon +

+ {{ end }} + {{ with .Content }}
{{ . }}
{{ end }} +
+ {{ end }} + +
+ {{ range .Pages }} +
+ +

+ {{ .Content }} +

+ + + + {{ with .Params.Tags }} + - Tags: + {{ range . }} + #{{ . }} + {{ end }} + {{ end }} +
+ {{ end }} +
+ +
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/notes/single.html b/indieweb-micro/themes/MinIndie/layouts/notes/single.html new file mode 100644 index 0000000..32afcea --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/notes/single.html @@ -0,0 +1,44 @@ +{{ define "main" }} +{{ $ageDays := div (sub now.Unix .Date.Unix) 86400 }} +
+
+ +
+ + - Permalink +
+ + {{- if or .Params.categories .Params.tags -}} + + {{- end -}} + + {{- partial "article-precontent.html" . -}} + +
+ {{ .Content }} +
+
+
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/article-extra.html b/indieweb-micro/themes/MinIndie/layouts/partials/article-extra.html new file mode 100644 index 0000000..e69de29 diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/article-old-content.html b/indieweb-micro/themes/MinIndie/layouts/partials/article-old-content.html new file mode 100644 index 0000000..785f3be --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/article-old-content.html @@ -0,0 +1,6 @@ +
+ /!\ Warning: This article is older than {{ . }} days, make sure the content + is still relevant! +
diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/article-precontent.html b/indieweb-micro/themes/MinIndie/layouts/partials/article-precontent.html new file mode 100644 index 0000000..e69de29 diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/article-prevnext.html b/indieweb-micro/themes/MinIndie/layouts/partials/article-prevnext.html new file mode 100644 index 0000000..d89b779 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/article-prevnext.html @@ -0,0 +1,17 @@ +
+ + + +
diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/article-related.html b/indieweb-micro/themes/MinIndie/layouts/partials/article-related.html new file mode 100644 index 0000000..5a6fe50 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/article-related.html @@ -0,0 +1,10 @@ +{{ $related := .Site.RegularPages.Related . | first 5 }} {{ with $related }} +
+

Releated Posts

+ +
+{{ end }} diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/bio-hcard.html b/indieweb-micro/themes/MinIndie/layouts/partials/bio-hcard.html new file mode 100644 index 0000000..0a476e4 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/bio-hcard.html @@ -0,0 +1,8 @@ +
+
+ {{ .Site.Params.Author.name }}'s avatar +

{{ .Site.Params.Author.Bio | safeHTML }}

+
+

{{ .Site.Params.Author.name }}

+
+
diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/footer-extra.html b/indieweb-micro/themes/MinIndie/layouts/partials/footer-extra.html new file mode 100644 index 0000000..e69de29 diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/footer.html b/indieweb-micro/themes/MinIndie/layouts/partials/footer.html new file mode 100644 index 0000000..978a390 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/footer.html @@ -0,0 +1,14 @@ +
+ diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/head-extra.html b/indieweb-micro/themes/MinIndie/layouts/partials/head-extra.html new file mode 100644 index 0000000..8c3984f --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/head-extra.html @@ -0,0 +1,20 @@ +{{- range .Site.Params.indieweb.relme }} + +{{- end -}} + +{{- with .Site.Params.indieweb.relmepgp -}} + +{{- end -}} + +{{ with .Site.Params.indieweb }} + + + +{{ end }} + diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/header.html b/indieweb-micro/themes/MinIndie/layouts/partials/header.html new file mode 100644 index 0000000..efbd8e1 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/header.html @@ -0,0 +1,17 @@ +
+
+
+ {{ strings.Repeat ( .Site.Params.Author.Name | len | add 6 ) "=" }}
+ == {{ .Site.Params.Author.Name }} ==
+ {{ strings.Repeat ( .Site.Params.Author.Name | len | add 6 ) "=" }} +
+
{{ .Site.Params.subtitle }}
+
+ +
diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/homepage-body.html b/indieweb-micro/themes/MinIndie/layouts/partials/homepage-body.html new file mode 100644 index 0000000..151ef62 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/homepage-body.html @@ -0,0 +1,5 @@ +{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }} +{{ range $paginator.Pages }} + {{ .Render "summary" }} +{{ end }} +{{ partial "pagination.html" . }} diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/pagination.html b/indieweb-micro/themes/MinIndie/layouts/partials/pagination.html new file mode 100644 index 0000000..79f8053 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/pagination.html @@ -0,0 +1,9 @@ +
+{{ if .Paginator.HasPrev }} + Previous Page +{{ end }} +{{ .Paginator.PageNumber }} of {{ .Paginator.TotalPages }} +{{ if .Paginator.HasNext }} + Next Page +{{ end }} +
diff --git a/indieweb-micro/themes/MinIndie/layouts/partials/single-title-extra.html b/indieweb-micro/themes/MinIndie/layouts/partials/single-title-extra.html new file mode 100644 index 0000000..bd79e22 --- /dev/null +++ b/indieweb-micro/themes/MinIndie/layouts/partials/single-title-extra.html @@ -0,0 +1,3 @@ +{{ with .AlternativeOutputFormats.Get "rss" }} +RSS icon +{{ end }} diff --git a/indieweb-micro/themes/MinIndie/static/css/style.css b/indieweb-micro/themes/MinIndie/static/css/style.css new file mode 100644 index 0000000..26bd17b --- /dev/null +++ b/indieweb-micro/themes/MinIndie/static/css/style.css @@ -0,0 +1,250 @@ +html { + overflow-y: scroll; +} + +/* 🌸 PASTEL PALETTE */ +:root { + --bgcolor: #fff7fb; + --fontcolor: #3a2c3d; + + --linkcolor: #ff77c8; + --visitedcolor: #d76dff; + + --precolor: #4a3e4f; + --prebgcolor: #ffe6f4; + + --alertbgcolor: #ffe0f1; + --hrcolor: #ffbde6; + + --blockquotecolor: #ffe8f6; + --pcodecolor: #f7d2f0; + + --sitetitlecolor: #ff99dd; + --titlecolor: #c77fff; +} + +/* 🌙 DARK MODE PASTEL NIGHT */ +@media (prefers-color-scheme: dark) { + :root { + --bgcolor: #241b2b; + --fontcolor: #f8e8ff; + + --linkcolor: #ff9be9; + --visitedcolor: #e49cff; + + --precolor: #ffeefe; + --prebgcolor: #35263f; + + --alertbgcolor: #3f304a; + --hrcolor: #f4cfff; + + --blockquotecolor: #3a2b45; + --pcodecolor: #614c70; + + --sitetitlecolor: #ffd1f6; + --titlecolor: #d9a7ff; + } +} + +/* 🌸 TYPO + BASE */ +body { + max-width: 800px; + margin: 40px auto; + padding: 0 10px; + + font: 15px/1.6 "IBM Plex Mono", "Fira Mono", monospace; + color: var(--fontcolor); + background: var(--bgcolor); + + transition: background 0.3s ease, color 0.3s ease; +} + +/* 🌸 LINKS */ +a { + color: var(--linkcolor); + text-decoration: none; + transition: color 0.2s ease, text-shadow 0.2s ease; +} + +a:hover { + color: var(--visitedcolor); + text-shadow: 0 0 6px currentColor; +} + +a:visited { + color: var(--visitedcolor); +} + +/* 🌸 HEADERS */ +h1, h2, h3 { + line-height: 1.25; + color: var(--titlecolor); + margin-top: 1.6rem; + font-weight: 700; +} + +h1.site-title { + color: var(--sitetitlecolor); + text-align: center; + font-size: 2rem; + margin-bottom: 1rem; +} + +/* 🌸 PARAGRAPHS */ +p { + margin-top: 1.3rem; +} + +/* 🌸 INLINE CODE */ +p > code, +li > code { + color: var(--precolor); + background: var(--pcodecolor); + padding: 3px 5px; + border-radius: 6px; +} + +/* 🌸 FULL CODE */ +code { + color: var(--precolor); + background: var(--prebgcolor); + padding: 3px 5px; + border-radius: 6px; +} + +pre { + color: var(--precolor); + background: var(--prebgcolor); + padding: 24px; + overflow-x: auto; + border-radius: 12px; + box-shadow: 0 0 10px rgba(255, 180, 220, 0.25); +} + +/* 🌸 ARTICLES */ +article { + padding: 24px 0; +} + +/* 🌸 IMAGES */ +img { + display: block; + max-width: 100%; + height: auto; + margin: auto; + border-radius: 12px; +} + +/* cute avatar */ +.avatar { + width: 100px; + height: 100px; + border-radius: 50%; + box-shadow: 0 0 8px rgba(255, 140, 200, 0.4); +} + +/* 🌸 ALERTS */ +.alert { + color: var(--fontcolor); + background: var(--alertbgcolor); + padding: 20px; + border-radius: 12px; + box-shadow: 0 0 12px rgba(255, 180, 220, 0.3); + overflow-x: auto; +} + +/* 🌸 NEXT/PREV */ +.article-nextprev { + display: flex; + flex-flow: row wrap-reverse; + justify-content: space-between; +} + +/* 🌸 DIVIDERS */ +hr { + margin: 35px 33% 15px; + border-color: var(--hrcolor); + border-width: 3px; + border-radius: 3px; +} + +hr.small { + margin: 35px 44% 25px; + border: 1px dashed var(--hrcolor); +} + +/* 🌸 BLOCKQUOTE */ +blockquote { + background: var(--blockquotecolor); + margin: 1.2rem 0; + padding: 12px 20px; + border-radius: 12px; + box-shadow: 0 0 8px rgba(255, 200, 240, 0.25); + border-left: 4px solid var(--hrcolor); +} + +/* 🌸 LISTS */ +ol, ul { + padding-left: 1.1rem; +} + +ul > li { + list-style-type: disclosure-closed; +} + +/* 🌸 TABLES */ +table { + text-align: left; + border: 1px solid var(--hrcolor); + border-radius: 10px; + overflow: hidden; +} + +thead th, tfoot th, tfoot td { + padding: 6px 10px; + background-color: var(--alertbgcolor); + color: var(--titlecolor); +} + +td { + padding: 8px 10px; +} + +tbody tr:nth-child(even) { + background-color: var(--alertbgcolor); +} + +/* 🌸 RESPONSIVE MOE */ +@media all and (max-width: 800px) { + .bio-card .bio { + justify-content: space-around; + flex-direction: column; + } + .bio-card .bio > img { + align-self: center; + margin: auto; + } + .bio-card .bio > p { + align-self: center; + text-align: center; + } +} + +/* PRINT */ +@media print { + a, a:visited { + color: #000; + text-decoration: none; + } + a::after { + content: " (" attr(href) ") "; + } + nav, footer, hr, .noprint { + display: none !important; + } + pre, blockquote, code { + background: #fff; + border: none; + box-shadow: none; + } +} diff --git a/indieweb-micro/themes/MinIndie/theme.toml b/indieweb-micro/themes/MinIndie/theme.toml new file mode 100644 index 0000000..313427c --- /dev/null +++ b/indieweb-micro/themes/MinIndie/theme.toml @@ -0,0 +1,17 @@ +name = "minindie" +license = "MIT" +licenselink = "https://git.sr.ht/~bacardi55/MinIndie/tree/main/item/LICENCE.md" +description = "Minimal Hugo theme for the indieweb." +homepage = "https://sr.ht/~bacardi55/MinIndie" +tags = ["blog", "minimal", "monospace", "dark mode", "simple", "clean", "light", "responsive", "fast", "no-js", "no-tracking", "privacy", "indieweb"] +features = ["blog", "privacy", "responsive", "fast", "indieweb"] +min_version = "0.0.1" + +[author] + name = "bacardi55" + homepage = "bacardi55.io" + +[original] + author = "Morph" + homepage = "https://morph.sh" + repo = "https://github.com/colorchestra/smol" -- cgit v1.2.3