From 953e68dc13d556e7865e33ac196b02bde4f900eb Mon Sep 17 00:00:00 2001 From: ae Date: Mon, 17 Feb 2025 01:21:30 +0200 Subject: [PATCH] feat: completely reworked structure with nostyleplease theme --- .gitignore | 3 + assets/fonts/Inter400-Latin.woff2 | Bin 5124 -> 0 bytes assets/fonts/Inter500-Latin.woff2 | Bin 5316 -> 0 bytes contact.html | 35 ---- content/_index.md | 5 + hugo.yaml | 19 ++ index.html | 56 ------ static/contact.txt | 19 ++ .../images}/apple-touch-icon.png | Bin {assets => static/images}/favicon-96x96.png | Bin {assets => static/images}/favicon.ico | Bin {assets => static/images}/favicon.svg | 0 .../images}/web-app-manifest-192x192.png | Bin .../images}/web-app-manifest-512x512.png | Bin {assets => static}/manifest.json | 0 style-min.css | 1 - style.css | 117 ----------- themes/nostyleplease/assets/css/main.scss | 185 ++++++++++++++++++ themes/nostyleplease/data/menu.toml | 25 +++ themes/nostyleplease/layouts/404.html | 8 + .../layouts/_default/baseof.html | 12 ++ .../nostyleplease/layouts/_default/list.html | 8 + .../layouts/_default/single.html | 21 ++ .../layouts/_default/taxonomy.html | 8 + .../nostyleplease/layouts/_default/term.html | 8 + themes/nostyleplease/layouts/index.html | 12 ++ .../layouts/partials/back_link.html | 1 + .../layouts/partials/footer.html | 3 + .../nostyleplease/layouts/partials/head.html | 28 +++ .../layouts/partials/mathjax.html | 21 ++ .../layouts/partials/menu_item.html | 19 ++ .../layouts/partials/post_list.html | 39 ++++ .../nostyleplease/layouts/posts/baseof.html | 20 ++ themes/nostyleplease/layouts/posts/list.html | 21 ++ .../nostyleplease/layouts/posts/single.html | 14 ++ .../layouts/shortcodes/details.html | 6 + .../layouts/shortcodes/texd.html | 3 + .../layouts/shortcodes/texi.html | 3 + themes/nostyleplease/theme.toml | 21 ++ 39 files changed, 532 insertions(+), 209 deletions(-) create mode 100644 .gitignore delete mode 100644 assets/fonts/Inter400-Latin.woff2 delete mode 100644 assets/fonts/Inter500-Latin.woff2 delete mode 100644 contact.html create mode 100644 content/_index.md create mode 100644 hugo.yaml delete mode 100644 index.html create mode 100644 static/contact.txt rename {assets => static/images}/apple-touch-icon.png (100%) rename {assets => static/images}/favicon-96x96.png (100%) rename {assets => static/images}/favicon.ico (100%) rename {assets => static/images}/favicon.svg (100%) rename {assets => static/images}/web-app-manifest-192x192.png (100%) rename {assets => static/images}/web-app-manifest-512x512.png (100%) rename {assets => static}/manifest.json (100%) delete mode 100644 style-min.css delete mode 100644 style.css create mode 100644 themes/nostyleplease/assets/css/main.scss create mode 100644 themes/nostyleplease/data/menu.toml create mode 100644 themes/nostyleplease/layouts/404.html create mode 100644 themes/nostyleplease/layouts/_default/baseof.html create mode 100644 themes/nostyleplease/layouts/_default/list.html create mode 100644 themes/nostyleplease/layouts/_default/single.html create mode 100644 themes/nostyleplease/layouts/_default/taxonomy.html create mode 100644 themes/nostyleplease/layouts/_default/term.html create mode 100644 themes/nostyleplease/layouts/index.html create mode 100644 themes/nostyleplease/layouts/partials/back_link.html create mode 100644 themes/nostyleplease/layouts/partials/footer.html create mode 100644 themes/nostyleplease/layouts/partials/head.html create mode 100644 themes/nostyleplease/layouts/partials/mathjax.html create mode 100644 themes/nostyleplease/layouts/partials/menu_item.html create mode 100644 themes/nostyleplease/layouts/partials/post_list.html create mode 100644 themes/nostyleplease/layouts/posts/baseof.html create mode 100644 themes/nostyleplease/layouts/posts/list.html create mode 100644 themes/nostyleplease/layouts/posts/single.html create mode 100644 themes/nostyleplease/layouts/shortcodes/details.html create mode 100644 themes/nostyleplease/layouts/shortcodes/texd.html create mode 100644 themes/nostyleplease/layouts/shortcodes/texi.html create mode 100644 themes/nostyleplease/theme.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b69c111 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +public/ +.hugo_build.lock +/resources/_gen \ No newline at end of file diff --git a/assets/fonts/Inter400-Latin.woff2 b/assets/fonts/Inter400-Latin.woff2 deleted file mode 100644 index 86f50d01adb5ff7a7b5324565517c5dcd7984d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5124 zcmV+f6#MIUPew8T0RR9102BlO4FCWD041CN028kO0|eaw00000000000000000000 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 diff --git a/assets/fonts/Inter500-Latin.woff2 b/assets/fonts/Inter500-Latin.woff2 deleted file mode 100644 index db558750a1c7fd080d72559f3513cd5cf1bc15ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5316 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 Wg - - - - - - - - - - - - - - - - Umbrella - Contact - - -
-

Umbrella. home contact

- -

Umbrella.haus is an experimental, privacy-centric project that aims to provide a curated selection of open-source services free of charge.

- -
-

Contact

- -
-
- - \ No newline at end of file diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..bec1581 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,5 @@ +--- +title: "" +date: 2025-02-16T16:36:41+02:00 +draft: false +--- diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..4038be6 --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,19 @@ +baseURL: https://umbrella.haus +title: Umbrella +language: en-GB + +theme: nostyleplease + +params: + theme_config: + appearance: dark + back_home_text: << + date_format: 2006-01-02 + isListGroupByDate: false + + assets: + favicon: /images/favicon.ico + faviconsvg: /images/favicon.svg + favicon96: /images/favicon-96x96.png + appleTouchIcon: /images/apple-touch-icon.png + manifest: /manifest.json diff --git a/index.html b/index.html deleted file mode 100644 index 114bf37..0000000 --- a/index.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - Umbrella - - -
-

Umbrella. home contact

- -

Umbrella.haus is an experimental, privacy-centric project that aims to provide a curated selection of open-source services free of charge.

- -
-

Services

-
    -
  • Gitea: Forge software package for hosting software version control using Git.
  • -
  • 4get: Proxy search engine that doesn't suck. Features a JavaScript-free interface and supports searching for websites, images, videos, news, and music.
  • -
  • EchoIP: Simple IP address lookup service with support for ASN, country, and city lookups powered by the MaxMind GeoIP database.
  • -
  • LibreSpeed: Extremely lightweight speedtest implemented in JavaScript (telemetry disabled). Utilizes XMLHttpRequest and Web Workers.
  • -
-
- -
-

Tor Relays

-
    -
  • Caspian 15CD 2C30 2869 2424 98AF EB23 69C0 E958 82DF CB6A
  • -
  • Sargasso 625C C20F F07A F585 3EE4 A11F 9F0A DB02 3A22 9A24
  • -
  • Vostok DF6B 339C F595 EE2E 23CA EDD6 1F2C 5103 0236 C5CE
  • -
-
- -
-

Under Construction 🏗️

-
    -
  • New services:
  • -
      -
    • Mozhi: Frontend for multiple translation engines
    • -
    • PrivateBin: Zero-knowledge pastebin
    • -
    -
-
-
- - \ No newline at end of file diff --git a/static/contact.txt b/static/contact.txt new file mode 100644 index 0000000..3fd7198 --- /dev/null +++ b/static/contact.txt @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Clearweb: golfed.xyz, umbrella.haus +Onion: golfed6fzytoktol4de4o4nerap3xuykhfm5makfzscib65df3khnpyd.onion +PGP: 1530F5132A1228578D2B4168995EFD5C1B532B3E +Email: hello@golfed.xyz +Matrix: @ae:golfed.xyz +Signal: @xmr.02 + +Updated: 29/11/2024 + +-----BEGIN PGP SIGNATURE----- + +iHUEARYKAB0WIQQVMPUTKhIoV40rQWiZXv1cG1MrPgUCZ0mHzQAKCRCZXv1cG1Mr +Pl6yAQCjFkLnaCH9f3BQgAsCwpmjmxQzcOsVoptf4eB08ZJNbAD/RH2Suz1CJSWe +LTusruFyxPEbzDsT+jNvebZRY91A5gQ= +=UfKa +-----END PGP SIGNATURE----- diff --git a/assets/apple-touch-icon.png b/static/images/apple-touch-icon.png similarity index 100% rename from assets/apple-touch-icon.png rename to static/images/apple-touch-icon.png diff --git a/assets/favicon-96x96.png b/static/images/favicon-96x96.png similarity index 100% rename from assets/favicon-96x96.png rename to static/images/favicon-96x96.png diff --git a/assets/favicon.ico b/static/images/favicon.ico similarity index 100% rename from assets/favicon.ico rename to static/images/favicon.ico diff --git a/assets/favicon.svg b/static/images/favicon.svg similarity index 100% rename from assets/favicon.svg rename to static/images/favicon.svg diff --git a/assets/web-app-manifest-192x192.png b/static/images/web-app-manifest-192x192.png similarity index 100% rename from assets/web-app-manifest-192x192.png rename to static/images/web-app-manifest-192x192.png diff --git a/assets/web-app-manifest-512x512.png b/static/images/web-app-manifest-512x512.png similarity index 100% rename from assets/web-app-manifest-512x512.png rename to static/images/web-app-manifest-512x512.png diff --git a/assets/manifest.json b/static/manifest.json similarity index 100% rename from assets/manifest.json rename to static/manifest.json diff --git a/style-min.css b/style-min.css deleted file mode 100644 index bebf4af..0000000 --- a/style-min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: auto;src: url("/assets/fonts/Inter400-Latin.woff2") format("woff2");}@font-face {font-family: 'Inter';font-style: normal;font-weight: 500;font-display: auto;src: url("/assets/fonts/Inter500-Latin.woff2") format("woff2");}:root {font-family: "Inter", sans-serif;}body {background-color: #202124;color: #ccc;margin: 0;}.page {max-width: 800px;margin: auto;padding: 20px 40px;}.section {background-color: rgba(255, 255, 255, 0.05);margin-bottom: 20px;border-left: 4px solid #5e81ac;}.section h2 {font-size: 18px;font-weight: 600;color: #fff;padding: 8px 16px;margin: 0;background-color: transparent;border-left: none;}p {background-color: #49688e;padding: 16px 32px;color: #fff;text-align: center;}p > a {color: #fff;font-weight: 600 }h1 {font-size: 42px;color: #eee;font-weight: 600;margin-bottom: 8px;line-height: 32px;}h1 > a {font-size: 22px;color: #aaa }ul {padding: 8px 32px 16px;margin: 0;}li {font-size: 16px;font-weight: 400;margin-bottom: 8px;color: #ccc;}li > a {color: #5e81ac;font-weight: 600;}code {background-color: rgba(94, 129, 172, 0.2);color: #5e81ac;padding: 1px 6px;border-radius: 4px;font-family: "Courier New", monospace;}footer {text-align: center;padding: 20px;font-style: italic;}footer a {color: #ccc;}a {color: #5e81ac;text-decoration: none;transition: color 0.3s ease;}a:hover {color: #81a1c1;text-decoration: underline;} \ No newline at end of file diff --git a/style.css b/style.css deleted file mode 100644 index cc9e1d4..0000000 --- a/style.css +++ /dev/null @@ -1,117 +0,0 @@ -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 400; - font-display: auto; - src: url("/assets/fonts/Inter400-Latin.woff2") format("woff2"); -} -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 500; - font-display: auto; - src: url("/assets/fonts/Inter500-Latin.woff2") format("woff2"); -} - -:root { - font-family: "Inter", sans-serif; -} - -body { - background-color: #202124; - color: #ccc; - margin: 0; -} - -.page { - max-width: 800px; - margin: auto; - padding: 20px 40px; -} - -.section { - background-color: rgba(255, 255, 255, 0.05); - margin-bottom: 20px; - border-left: 4px solid #5e81ac; -} - -.section h2 { - font-size: 18px; - font-weight: 600; - color: #fff; - padding: 8px 16px; - margin: 0; - background-color: transparent; - border-left: none; -} - -p { - background-color: #49688e; - padding: 16px 32px; - color: #fff; - text-align: center; -} - -p > a { - color: #fff; - font-weight: 600 -} - -h1 { - font-size: 42px; - color: #eee; - font-weight: 600; - margin-bottom: 8px; - line-height: 32px; -} - -h1 > a { - font-size: 22px; - color: #aaa -} - -ul { - padding: 8px 32px 16px; - margin: 0; -} - -li { - font-size: 16px; - font-weight: 400; - margin-bottom: 8px; - color: #ccc; -} - -li > a { - color: #5e81ac; - font-weight: 600; -} - -code { - background-color: rgba(94, 129, 172, 0.2); - color: #5e81ac; - padding: 1px 6px; - border-radius: 4px; - font-family: "Courier New", monospace; -} - -footer { - text-align: center; - padding: 20px; - font-style: italic; -} - -footer a { - color: #ccc; -} - -a { - color: #5e81ac; - text-decoration: none; - transition: color 0.3s ease; -} - -a:hover { - color: #81a1c1; - text-decoration: underline; -} diff --git a/themes/nostyleplease/assets/css/main.scss b/themes/nostyleplease/assets/css/main.scss new file mode 100644 index 0000000..8c52c90 --- /dev/null +++ b/themes/nostyleplease/assets/css/main.scss @@ -0,0 +1,185 @@ +// -------------- THEME SWITCHER -------------- // +@mixin theme($--bg-color, $--primary-text-color, $--secondary-text-color, $--link-color, $--visited-link-color, $--highlight) { + background-color: $--bg-color; + + color: $--primary-text-color; + + a { + color: $--link-color; + &:visited { color: $--visited-link-color; } + } + + details { + border: thin solid $--primary-text-color; + } + + details summary { + color: $--primary-text-color; + } + + details[open] summary { + border-bottom: 1px solid $--primary-text-color; + } + + pre { + background: $--bg-color; + } + + code:not(pre > code) { + background-color: $--primary-text-color; + color: $--bg-color; + } + + *:target { + background: $--highlight; + color: $--primary-text-color; + } + + table, th, td { + border: thin solid $--primary-text-color; + } + + .toc { + border: thin solid $--primary-text-color; + padding: 1rem; + } + + figcaption { color: $--secondary-text-color; } + + blockquote { + border: thin solid $--primary-text-color; + } +} + +@mixin dark-appearance { + @include theme(#000300, #eff6ee, #000300, #33658a, #55dde0, #9197ae); // modus-vivendi +} + +@mixin light-appearance { + @include theme(#ffffff, #000000, #595959, #3548cf, #8f0075, #dae5ec); // modus-operandi +} + +body[a="dark"] { @include dark-appearance; } +body[a="light"] { @include light-appearance; } + +@media (prefers-color-scheme: dark) { + body[a="auto"] { @include dark-appearance; } +} + +@media (prefers-color-scheme: light) { + body[a="auto"] { @include light-appearance; } +} + +// -------------------------------------------- // + +html { height: 100%; } + +body { + font-family: monospace; + font-size: 16px; + line-height: 1.4; + margin: 0; + min-height: 100%; + overflow-wrap: break-word; +} + +h2, h3, h4, h5, h6 { margin-top: 1.5rem; } + +p { margin: 1rem 0; } + +li { margin: 0.4rem 0; } + +a { + text-decoration: none; + &:hover { text-decoration: underline; } +} + +hr { + text-align: center; + border: 0; + margin: 2rem 0; + + &:before { content: '/////' } + &:after { content: attr(data-content) '/////' } +} + +pre { + padding: 1em; + overflow-x: auto; /* Fix pre content overflowing parent without scroll bar */ +} + +table { width: 100%; } + +table, th, td { + border-collapse: collapse; + padding: 0.4rem; +} + +code { + text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +code:not(pre > code) { + padding: 0.1em 0.2em; + font-size: 90%; +} + +code.has-jax { + -webkit-font-smoothing: antialiased; + background: inherit !important; + border: none !important; + font-size: 100%; +} + +blockquote { + padding: 1rem; + + p { margin: 0; } +} + +img { + max-width: 100%; + display: block; + margin: 0 auto; +} + +figcaption { + text-align: center; + opacity: 0.5; +} + +details { + padding: 1rem; +} + +details summary { + text-decoration: none; +} + +details[open] summary { + margin-bottom: 0.5em; + padding-bottom: 0.5em; +} + +.post-meta { + display: flex; + justify-content: space-between; + align-items: center; +} + +.w { + max-width: 640px; + margin: 0 auto; + padding: 4rem 2rem; +} + +.toc { + padding: 1rem; +} + +.site-footer { + margin-top: 2em; +} diff --git a/themes/nostyleplease/data/menu.toml b/themes/nostyleplease/data/menu.toml new file mode 100644 index 0000000..eec37cf --- /dev/null +++ b/themes/nostyleplease/data/menu.toml @@ -0,0 +1,25 @@ +[[entries]] +title = "services" +entries = [ + { title = "4get (proxy search engine)", url = "https://4.umbrella.haus/" }, + { title = "gitea (git hosting)", url = "https://git.umbrella.haus/" }, + { title = "echoip (ip lookup)", url = "https://ip.umbrella.haus/" }, + { title = "librespeed (speedtest)", url = "https://speed.umbrella.haus/" }, +] + +[[entries]] +title = "tor relays" +entries = [ + { title = "caspian (15CD2C...DFCB6A)", url = "https://metrics.torproject.org/rs.html#details/15CD2C302869242498AFEB2369C0E95882DFCB6A" }, + { title = "sargasso (625CC2...229A24)", url = "https://metrics.torproject.org/rs.html#details/625CC20FF07AF5853EE4A11F9F0ADB023A229A24" }, + { title = "vostok (DF6B33...36C5CE)", url = "https://metrics.torproject.org/rs.html#details/DF6B339CF595EE2E23CAEDD61F2C51030236C5CE" }, +] + +[[entries]] +title = "contacts" +entries = [ + { title = "email (hello at golfed.xyz)", url = "mailto:hello@golfed.xyz" }, + { title = "pgp (1530F5...532B3E)", url = "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1530f5132a1228578d2b4168995efd5c1b532b3e" }, + { title = "matrix (@ae:golfed.xyz)", url = "https://matrix.to/#/@ae:golfed.xyz" }, + { title = "signal (xmr.02)", url = "https://signal.me/#eu/9aAt0tk36ErVZygWxf_dk81_r_2jTaxUxVCuvl_h6LONUyREI7hLm42Oa8RYJgoz" }, +] diff --git a/themes/nostyleplease/layouts/404.html b/themes/nostyleplease/layouts/404.html new file mode 100644 index 0000000..eb600b4 --- /dev/null +++ b/themes/nostyleplease/layouts/404.html @@ -0,0 +1,8 @@ +{{ define "main" }} + +{{- partial "back_link.html" . -}} + +
+

404 Not Found

+
+{{ end }} \ No newline at end of file diff --git a/themes/nostyleplease/layouts/_default/baseof.html b/themes/nostyleplease/layouts/_default/baseof.html new file mode 100644 index 0000000..43aaa30 --- /dev/null +++ b/themes/nostyleplease/layouts/_default/baseof.html @@ -0,0 +1,12 @@ + + + {{- partial "head.html" . -}} + +
+
+ {{- block "main" . }}{{- end }} + {{ partial "footer.html" }} +
+
+ + diff --git a/themes/nostyleplease/layouts/_default/list.html b/themes/nostyleplease/layouts/_default/list.html new file mode 100644 index 0000000..b561c10 --- /dev/null +++ b/themes/nostyleplease/layouts/_default/list.html @@ -0,0 +1,8 @@ +{{ define "main" }} +{{ partial "back_link.html" .}} + +

{{ .Title }}

+ +{{ .Content }} +{{ partial "post_list.html" (dict "context" . "section" .Section)}} +{{ end }} \ No newline at end of file diff --git a/themes/nostyleplease/layouts/_default/single.html b/themes/nostyleplease/layouts/_default/single.html new file mode 100644 index 0000000..a09cee2 --- /dev/null +++ b/themes/nostyleplease/layouts/_default/single.html @@ -0,0 +1,21 @@ +{{ define "main" }} +{{ partial "back_link.html" .}} + +
+ + +

{{ .Title }}

+ + {{ if .Params.toc }} + + {{ end }} + + {{ .Content }} +
+{{ end }} diff --git a/themes/nostyleplease/layouts/_default/taxonomy.html b/themes/nostyleplease/layouts/_default/taxonomy.html new file mode 100644 index 0000000..a1ecdc4 --- /dev/null +++ b/themes/nostyleplease/layouts/_default/taxonomy.html @@ -0,0 +1,8 @@ +{{ define "main" }} +{{ partial "back_link.html" .}} + +

{{ .Title }}

+ +{{ .Content }} +{{ partial "post_list.html" (dict "context" .)}} +{{ end }} diff --git a/themes/nostyleplease/layouts/_default/term.html b/themes/nostyleplease/layouts/_default/term.html new file mode 100644 index 0000000..a1ecdc4 --- /dev/null +++ b/themes/nostyleplease/layouts/_default/term.html @@ -0,0 +1,8 @@ +{{ define "main" }} +{{ partial "back_link.html" .}} + +

{{ .Title }}

+ +{{ .Content }} +{{ partial "post_list.html" (dict "context" .)}} +{{ end }} diff --git a/themes/nostyleplease/layouts/index.html b/themes/nostyleplease/layouts/index.html new file mode 100644 index 0000000..43b1ad0 --- /dev/null +++ b/themes/nostyleplease/layouts/index.html @@ -0,0 +1,12 @@ +{{ define "main" }} + +
+

{{ $.Site.Title }}

+ {{- if $.Site.Params.theme_config.show_description -}} +

{{ $.Site.Params.description }}

+ {{- end -}} +
+{{ .Content }} +{{ partial "menu_item.html" (dict "context" . "collection" $.Site.Data.menu.entries) }} + +{{ end }} \ No newline at end of file diff --git a/themes/nostyleplease/layouts/partials/back_link.html b/themes/nostyleplease/layouts/partials/back_link.html new file mode 100644 index 0000000..58919d2 --- /dev/null +++ b/themes/nostyleplease/layouts/partials/back_link.html @@ -0,0 +1 @@ +{{ $.Site.Params.theme_config.back_home_text }} diff --git a/themes/nostyleplease/layouts/partials/footer.html b/themes/nostyleplease/layouts/partials/footer.html new file mode 100644 index 0000000..942392e --- /dev/null +++ b/themes/nostyleplease/layouts/partials/footer.html @@ -0,0 +1,3 @@ + diff --git a/themes/nostyleplease/layouts/partials/head.html b/themes/nostyleplease/layouts/partials/head.html new file mode 100644 index 0000000..145dd93 --- /dev/null +++ b/themes/nostyleplease/layouts/partials/head.html @@ -0,0 +1,28 @@ + + + + + {{ if .IsPage }} {{ end }} + + + {{ if not .IsHome }} + {{ .Title }} + {{ else }} + {{ $.Site.Title }} + {{ end }} + + + + {{ $options := (dict "outputStyle" "compressed" "enableSourceMap" (not hugo.IsProduction)) }} + {{ $sass := resources.Get "css/main.scss" }} + {{ $style := $sass | css.Sass $options | resources.Fingerprint "sha512" }} + + {{ if .Params.mathjax }} {{ partial "mathjax.html" . }} {{ end }} + + + + + + + + diff --git a/themes/nostyleplease/layouts/partials/mathjax.html b/themes/nostyleplease/layouts/partials/mathjax.html new file mode 100644 index 0000000..4c73140 --- /dev/null +++ b/themes/nostyleplease/layouts/partials/mathjax.html @@ -0,0 +1,21 @@ + + + diff --git a/themes/nostyleplease/layouts/partials/menu_item.html b/themes/nostyleplease/layouts/partials/menu_item.html new file mode 100644 index 0000000..ec0a1af --- /dev/null +++ b/themes/nostyleplease/layouts/partials/menu_item.html @@ -0,0 +1,19 @@ +
    + {{- range $item := .collection -}} +
  • + {{- with $item.url -}} + {{ safeHTML $item.title }} + {{- else -}} + {{ safeHTML $item.title }} + {{- end -}} +
  • + + {{- if $item.entries }} + {{ partial "menu_item.html" (dict "context" . "collection" $item.entries) }} + {{- end -}} + + {{- if $item.post_list -}} + {{ partial "post_list.html" (dict "context" . "section" $item.post_list.section "limit" $item.post_list.limit "show_more" $item.post_list.show_more "show_more_text" $item.post_list.show_more_text "show_more_url" $item.post_list.show_more_url) -}} + {{- end -}} + {{- end -}} +
diff --git a/themes/nostyleplease/layouts/partials/post_list.html b/themes/nostyleplease/layouts/partials/post_list.html new file mode 100644 index 0000000..083ffd7 --- /dev/null +++ b/themes/nostyleplease/layouts/partials/post_list.html @@ -0,0 +1,39 @@ +{{- $posts := "" -}} + +{{- if .section -}} + {{- $posts = (where site.RegularPages "Section" .section) -}} +{{- else -}} + {{- if (eq .context.Kind "taxonomy") -}} + {{- $posts = .context.Pages -}} + {{- else -}} + {{- if (eq .context.Kind "term") -}} + {{- $posts = .context.Data.Pages -}} + {{- else -}} + {{- $posts = site.RegularPages }} + {{- end -}} + {{- end -}} +{{- end -}} + +{{- $limit_exceeded:= "" -}} +{{- if (and .limit (gt (len $posts) .limit)) -}} + {{- $limit_exceeded = true -}} +{{- else -}} + {{- $limit_exceeded = false -}} +{{ end }} + +{{- if (gt (len $posts) 0) }} + {{- if .limit }} + {{ $posts = (first .limit $posts ) }} + {{ end }} + +{{ end }} diff --git a/themes/nostyleplease/layouts/posts/baseof.html b/themes/nostyleplease/layouts/posts/baseof.html new file mode 100644 index 0000000..4ad28f1 --- /dev/null +++ b/themes/nostyleplease/layouts/posts/baseof.html @@ -0,0 +1,20 @@ + + + {{- partial "head.html" . -}} + +
+
+ + {{- block "main" . }}{{- end }} + {{ partial "footer.html" }} +
+
+ + diff --git a/themes/nostyleplease/layouts/posts/list.html b/themes/nostyleplease/layouts/posts/list.html new file mode 100644 index 0000000..ab0482b --- /dev/null +++ b/themes/nostyleplease/layouts/posts/list.html @@ -0,0 +1,21 @@ +{{ define "main" }} + +

{{ .Title }}

+ +{{ .Content }} + + +{{ if .Site.Params.theme_config.isListGroupByDate }} + {{ range .Pages.GroupByDate "2006 Year" }} +

{{ .Key }}

+ + {{ end }} +{{ else }} + {{ partial "post_list.html" (dict "context" . "section" .Section)}} +{{ end }} + +{{ end }} diff --git a/themes/nostyleplease/layouts/posts/single.html b/themes/nostyleplease/layouts/posts/single.html new file mode 100644 index 0000000..b3debe2 --- /dev/null +++ b/themes/nostyleplease/layouts/posts/single.html @@ -0,0 +1,14 @@ +{{ define "main" }} + +
+

{{ .Title }}

+ + {{ if .Params.toc }} + + {{ end }} + + {{ .Content }} +
+{{ end }} diff --git a/themes/nostyleplease/layouts/shortcodes/details.html b/themes/nostyleplease/layouts/shortcodes/details.html new file mode 100644 index 0000000..80be121 --- /dev/null +++ b/themes/nostyleplease/layouts/shortcodes/details.html @@ -0,0 +1,6 @@ +
+ + {{ .Get "summary" | default "Details:" }} + + {{ .Inner | markdownify }} +
diff --git a/themes/nostyleplease/layouts/shortcodes/texd.html b/themes/nostyleplease/layouts/shortcodes/texd.html new file mode 100644 index 0000000..dc2eaf9 --- /dev/null +++ b/themes/nostyleplease/layouts/shortcodes/texd.html @@ -0,0 +1,3 @@ + +$${{ .Get 0 }}$$ + diff --git a/themes/nostyleplease/layouts/shortcodes/texi.html b/themes/nostyleplease/layouts/shortcodes/texi.html new file mode 100644 index 0000000..96523d9 --- /dev/null +++ b/themes/nostyleplease/layouts/shortcodes/texi.html @@ -0,0 +1,3 @@ + +\({{ .Get 0 }}\) + diff --git a/themes/nostyleplease/theme.toml b/themes/nostyleplease/theme.toml new file mode 100644 index 0000000..414c849 --- /dev/null +++ b/themes/nostyleplease/theme.toml @@ -0,0 +1,21 @@ +# theme.toml template for a Hugo theme +# See https://github.com/gohugoio/hugoThemes#themetoml for an example + +name = "no-style-please" +license = "MIT" +licenselink = "https://github.com/Masellum/hugo-theme-nostyleplease/blob/main/LICENSE" +description = "a (nearly) no-CSS, fast, minimalist Hugo theme ported from riggraz/no-style-please." +homepage = "https://github.com/Masellum/hugo-theme-nostyleplease" +tags = ["blog", "minimalist"] +features = [] +min_version = "0.41.0" + +[author] + name = "Masellum" + homepage = "Masellum.github.io" + +# If porting an existing theme +[original] + name = "riggraz" + homepage = "https://riggraz.dev/" + repo = "https://github.com/riggraz/no-style-please"