From 709cb556c140aee5bbde86e8c49324eb5decf230 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Tue, 10 Mar 2026 08:02:21 +0100 Subject: [PATCH 01/10] Remove static images not used --- .github/workflows/main.yml | 4 ++-- flake.nix | 3 ++- static/pharmacist-0.png | Bin 7201 -> 0 bytes static/pharmacist-1-blue.png | Bin 7236 -> 0 bytes static/pharmacist-1-bluegray.png | Bin 7234 -> 0 bytes static/pharmacist-1-darkblue.png | Bin 7233 -> 0 bytes static/pharmacist-1-darkgreen.png | Bin 7238 -> 0 bytes static/pharmacist-1-green.png | Bin 7233 -> 0 bytes static/pharmacist-1-lightblue.png | Bin 7219 -> 0 bytes static/pharmacist-1-lightgreen.png | Bin 7238 -> 0 bytes static/pharmacist-1-lightviolet.png | Bin 7238 -> 0 bytes static/pharmacist-1-orange.png | Bin 7236 -> 0 bytes static/pharmacist-1-pink.png | Bin 7240 -> 0 bytes static/pharmacist-1-red.png | Bin 7238 -> 0 bytes static/pharmacist-1-violet.png | Bin 7233 -> 0 bytes static/pharmacist-1-yellow.png | Bin 7228 -> 0 bytes static/pharmacist-1-yellow.webp | Bin 288 -> 0 bytes static/skier-1-1.png | Bin 7849 -> 0 bytes static/skier-1-2.png | Bin 7800 -> 0 bytes static/skier-1-3.png | Bin 7805 -> 0 bytes 20 files changed, 4 insertions(+), 3 deletions(-) delete mode 100644 static/pharmacist-0.png delete mode 100644 static/pharmacist-1-blue.png delete mode 100644 static/pharmacist-1-bluegray.png delete mode 100644 static/pharmacist-1-darkblue.png delete mode 100644 static/pharmacist-1-darkgreen.png delete mode 100644 static/pharmacist-1-green.png delete mode 100644 static/pharmacist-1-lightblue.png delete mode 100644 static/pharmacist-1-lightgreen.png delete mode 100644 static/pharmacist-1-lightviolet.png delete mode 100644 static/pharmacist-1-orange.png delete mode 100644 static/pharmacist-1-pink.png delete mode 100644 static/pharmacist-1-red.png delete mode 100644 static/pharmacist-1-violet.png delete mode 100644 static/pharmacist-1-yellow.png delete mode 100644 static/pharmacist-1-yellow.webp delete mode 100644 static/skier-1-1.png delete mode 100644 static/skier-1-2.png delete mode 100644 static/skier-1-3.png diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 313a3e4..675de11 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Deploy Hugo site to Pages +name: Deploy website to Pages on: push: @@ -33,7 +33,7 @@ jobs: uses: actions/configure-pages@main - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/flake-checker-action@main - - name: Build with Hugo + - name: Build website run: nix run . - name: Upload to GitHub Pages uses: actions/upload-pages-artifact@main diff --git a/flake.nix b/flake.nix index fd9a551..e794473 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Hugo website"; + description = "Jan Kremer blog"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; treefmt = { @@ -28,6 +28,7 @@ buildInputs = with pkgs; [ go hugo + vscode-langservers-extracted ]; }; }); diff --git a/static/pharmacist-0.png b/static/pharmacist-0.png deleted file mode 100644 index dec2d6637506da4de23292ba1d05b7113fadb65f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7201 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�y8a+<2eYy?ten2x9OSDWF#!g*`S(A8JZ2E; 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 diff --git a/static/pharmacist-1-bluegray.png b/static/pharmacist-1-bluegray.png deleted file mode 100644 index 1305e242244bab796dec7c51996a0510e2f0bcba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7234 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 diff --git a/static/pharmacist-1-darkblue.png b/static/pharmacist-1-darkblue.png deleted file mode 100644 index 35c1f8c12a8e89b0aea3bbd17928121193b6a971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7233 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 Tr@I*#7#KWV{an^LB{Ts5Rdup# diff --git a/static/pharmacist-1-green.png b/static/pharmacist-1-green.png deleted file mode 100644 index 660f597d24c1a944f3554f1e95f9305eff589c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7233 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 diff --git a/static/pharmacist-1-lightblue.png b/static/pharmacist-1-lightblue.png deleted file mode 100644 index 35e140d16ee7d5401606aa75f54ba5adcbcf4e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7219 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 diff --git a/static/pharmacist-1-lightgreen.png b/static/pharmacist-1-lightgreen.png deleted file mode 100644 index 79b133fc667a62b4667b41d5206ac0a1dc46f9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7238 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 diff --git a/static/pharmacist-1-orange.png b/static/pharmacist-1-orange.png deleted file mode 100644 index 6dcb00640cac33e801f3005287c771a3453aed35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7236 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 T+_zw0U|{fc^>bP0l+XkK3AD#1 diff --git a/static/pharmacist-1-pink.png b/static/pharmacist-1-pink.png deleted file mode 100644 index 7604d6101ef8306b41f049ad4e3d4c793e97ed6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7240 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 diff --git a/static/pharmacist-1-violet.png b/static/pharmacist-1-violet.png deleted file mode 100644 index f3338e86846221b359a898541210d9025a4860bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7233 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 bp24_yh4A%jllT}I7#KWV{an^LB{Ts5+~TuN diff --git a/static/pharmacist-1-yellow.png b/static/pharmacist-1-yellow.png deleted file mode 100644 index 8aa3e4aedf6475d541ec48730925a7d819eb49c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7228 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 diff --git a/static/pharmacist-1-yellow.webp b/static/pharmacist-1-yellow.webp deleted file mode 100644 index b7258b4900e6d7c7a78de7fdfb1333b2b98e3785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 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 diff --git a/static/skier-1-2.png b/static/skier-1-2.png deleted file mode 100644 index 8addb74b67b33bb0b7b46390b6609567b5e59039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7800 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 diff --git a/static/skier-1-3.png b/static/skier-1-3.png deleted file mode 100644 index b907cfac388887fb413b59423f69c8e96d6865a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7805 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 Date: Tue, 10 Mar 2026 08:23:16 +0100 Subject: [PATCH 02/10] Convert frontmatter from YAML to TOML --- archetypes/blog.md | 14 +++++++------- archetypes/default.md | 10 +++++----- archetypes/photos.md | 14 +++++++------- content/_index.md | 4 ++-- content/about.md | 8 ++++---- content/blog/discord.md | 10 +++++----- content/blog/email.md | 11 +++++------ content/blog/markdown-tables.md | 11 +++++------ content/blog/selbsthosting.md | 15 ++++++--------- content/blog/timestamps.md | 11 +++++------ content/btc.md | 10 +++++----- content/eth.md | 10 +++++----- content/fotos/abendliche-bewoelkung/index.md | 12 ++++++------ content/fotos/ustronie-morskie/index.md | 12 ++++++------ content/xmr.md | 10 +++++----- 15 files changed, 78 insertions(+), 84 deletions(-) diff --git a/archetypes/blog.md b/archetypes/blog.md index 9b03f36..1ac76b1 100644 --- a/archetypes/blog.md +++ b/archetypes/blog.md @@ -1,7 +1,7 @@ ---- -title: {{ replace .Name "-" " " | title }} -date: {{ .Date }} -description: -tags: -draft: true ---- ++++ +title = {{ replace .Name "-" " " | title }} +date = {{ .Date }} +description = +tags = +draft = true ++++ diff --git a/archetypes/default.md b/archetypes/default.md index 29346c2..cf8c64f 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -1,5 +1,5 @@ ---- -title: {{ replace .Name "-" " " | title }} -date: {{ .Date }} -draft: true ---- ++++ +title = {{ replace .Name "-" " " | title }} +date = {{ .Date }} +draft = true ++++ diff --git a/archetypes/photos.md b/archetypes/photos.md index 9b03f36..1ac76b1 100644 --- a/archetypes/photos.md +++ b/archetypes/photos.md @@ -1,7 +1,7 @@ ---- -title: {{ replace .Name "-" " " | title }} -date: {{ .Date }} -description: -tags: -draft: true ---- ++++ +title = {{ replace .Name "-" " " | title }} +date = {{ .Date }} +description = +tags = +draft = true ++++ diff --git a/content/_index.md b/content/_index.md index a845151..ac36e06 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,2 +1,2 @@ ---- ---- ++++ ++++ diff --git a/content/about.md b/content/about.md index 78e227e..786053f 100644 --- a/content/about.md +++ b/content/about.md @@ -1,7 +1,7 @@ ---- -title: Über mich -date: 2024-12-12 ---- ++++ +date = '2024-12-12' +title = 'Über mich' ++++ Mein Name ist _Jan Kremer_. Ich bin 29 Jahre alt und bin *Apotheker*. Manchmal schreibe ich über Technik und Software die ich benutze. diff --git a/content/blog/discord.md b/content/blog/discord.md index 9fcd7e1..19eef00 100644 --- a/content/blog/discord.md +++ b/content/blog/discord.md @@ -1,8 +1,8 @@ ---- -title: Discord -date: 2026-02-16T19:45:02+01:00 -tags: micro ---- ++++ +date = '2026-02-16T19:45:02+01:00' +tags = 'micro' +title = 'Discord' ++++ Since [Discord announced](https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally) it will start asking users for age verification, I became obsessed with reading about alternatives to the platform. And there are a lot of them. As a self-hoster, I immediately thought of Matrix and XMPP. Both have their pros and cons and different implementations. diff --git a/content/blog/email.md b/content/blog/email.md index 6197f32..d0392c3 100644 --- a/content/blog/email.md +++ b/content/blog/email.md @@ -1,8 +1,7 @@ ---- -title: Email -date: 2026-02-20T15:46:52+01:00 -description: -tags: micro ---- ++++ +date = '2026-02-20T15:46:52+01:00' +tags = 'micro' +title = 'Email' ++++ It's a shame we don't have _ubiquitous decentralized chat_ equivalent to **email**. I know **Matrix** and **XMPP** exist, but neither are complete enough. And they dont't have a lot of users. diff --git a/content/blog/markdown-tables.md b/content/blog/markdown-tables.md index 222ca2f..d9c3472 100644 --- a/content/blog/markdown-tables.md +++ b/content/blog/markdown-tables.md @@ -1,9 +1,8 @@ ---- -title: Markdown Tables Suck -date: 2023-12-25T16:28:52+01:00 -tags: - - micro ---- ++++ +date = '2023-12-25T16:28:52+01:00' +tags = ['micro'] +title = 'Markdown Tables Suck' ++++ Tables are arguably the worst part of Markdown. No horizontal lines except for the mandatory one at the top. diff --git a/content/blog/selbsthosting.md b/content/blog/selbsthosting.md index 9296d42..e50cb26 100644 --- a/content/blog/selbsthosting.md +++ b/content/blog/selbsthosting.md @@ -1,12 +1,9 @@ ---- -title: Selbsthosting -date: 2025-04-14 -description: Kleiner Computer, große Pläne -tags: - - selbsthosting - - nixos - - git ---- ++++ +date = '2025-04-14' +description = 'Kleiner Computer, große Pläne' +tags = ['selbsthosting', 'nixos', 'git'] +title = 'Selbsthosting' ++++ Seit etwa 2020 hat mich die Idee fasziniert, meinen _eigenen Server zu betreiben_ – also die volle Kontrolle über Daten, Dienste und Medien zu haben. Vor allem auf Reddit, und dort besonders in den Communities [r/selfhosted](https://www.reddit.com/r/selfhosted) und [r/homelab](https://www.reddit.com/r/homelab), habe ich immer wieder spannende Projekte gesehen. Lange blieb das für mich ein Traum – zu wenig Zeit, zu wenig Geld. Aber im April 2024 war es so weit: Mein kleines Selbsthosting-Abenteuer begann. diff --git a/content/blog/timestamps.md b/content/blog/timestamps.md index 4723039..d7aa37b 100644 --- a/content/blog/timestamps.md +++ b/content/blog/timestamps.md @@ -1,9 +1,8 @@ ---- -title: Use Timestamps -date: 2023-11-15T10:12:30+01:00 -tags: - - micro ---- ++++ +date = '2023-11-15T10:12:30+01:00' +tags = ['micro'] +title = 'Use Timestamps' ++++ Every blog post should include a timestamp. In fact, this extends to almost anything online and even offline. diff --git a/content/btc.md b/content/btc.md index fd5fafc..b0fe254 100644 --- a/content/btc.md +++ b/content/btc.md @@ -1,8 +1,8 @@ ---- -title: Bitcoin -date: 2022-12-10 -tags: [crypto] ---- ++++ +date = '2022-12-10' +tags = ['crypto'] +title = 'Bitcoin' ++++ ## Address diff --git a/content/eth.md b/content/eth.md index 210d534..fcaf491 100644 --- a/content/eth.md +++ b/content/eth.md @@ -1,8 +1,8 @@ ---- -title: Ethereum -date: 2022-12-10 -tags: [crypto] ---- ++++ +date = '2022-12-10' +tags = ['crypto'] +title = 'Ethereum' ++++ ## Address diff --git a/content/fotos/abendliche-bewoelkung/index.md b/content/fotos/abendliche-bewoelkung/index.md index 5ba0487..65394bb 100644 --- a/content/fotos/abendliche-bewoelkung/index.md +++ b/content/fotos/abendliche-bewoelkung/index.md @@ -1,9 +1,9 @@ ---- -title: Abendliche Bewölkung -date: 2023-07-19T10:48:33+02:00 -description: "über Regensburg" -tags: [fotos, regensburg] ---- ++++ +date = '2023-07-19T10:48:33+02:00' +description = 'über Regensburg' +tags = ['fotos', 'regensburg'] +title = 'Abendliche Bewölkung' ++++ {{< figure src="./abendliche-bewoelkung.webp" diff --git a/content/fotos/ustronie-morskie/index.md b/content/fotos/ustronie-morskie/index.md index 7dd98c5..02da91a 100644 --- a/content/fotos/ustronie-morskie/index.md +++ b/content/fotos/ustronie-morskie/index.md @@ -1,9 +1,9 @@ ---- -title: Ustronie Morskie -description: Polen -date: 2025-11-15T21:53:01+01:00 -tags: [fotos, polen] ---- ++++ +date = '2025-11-15T21:53:01+01:00' +description = 'Polen' +tags = ['fotos', 'polen'] +title = 'Ustronie Morskie' ++++ {{< figure src="holzwall.jpeg" diff --git a/content/xmr.md b/content/xmr.md index e3b033b..14e437f 100644 --- a/content/xmr.md +++ b/content/xmr.md @@ -1,8 +1,8 @@ ---- -title: Monero -date: 2022-12-10 -tags: [crypto] ---- ++++ +date = '2022-12-10' +tags = ['crypto'] +title = 'Monero' ++++ ## Address From aa8a58141d7bd3d796cb720b1175eb01ae6fdefb Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Sun, 15 Mar 2026 12:12:13 +0100 Subject: [PATCH 03/10] Update header --- assets/css/main.css | 13 ++++++++++--- content/about.md | 2 +- hugo.toml | 2 +- layouts/_partials/header.html | 6 +++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/assets/css/main.css b/assets/css/main.css index 7622b10..61f416c 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -157,12 +157,18 @@ svg { margin: 0.5rem; vertical-align: middle; fill: light-dark(var(--uchu-yin), var(--uchu-yang)); + @media (prefers-color-scheme: dark) { path { fill: white; } } } + + &.active { + text-decoration: underline; + text-decoration-color: var(--uchu-blue); + } } header { @@ -206,7 +212,7 @@ article { height: auto; margin: 0; - figcaption > p { + figcaption>p { margin: 0.25rem 0 2rem; font-family: var(--sans-serif); text-align: center; @@ -218,7 +224,7 @@ article { height: auto; } - > p:nth-of-type(2)::first-letter { + >p:nth-of-type(2)::first-letter { font-size: 3.3rem; float: left; line-height: 3rem; @@ -302,6 +308,7 @@ footer { width: 0.75rem; vertical-align: middle; margin: 0 1px; + @media (prefers-color-scheme: dark) { path { fill: white; @@ -364,4 +371,4 @@ code { margin: 0; padding: 0; } -} +} \ No newline at end of file diff --git a/content/about.md b/content/about.md index 786053f..14f705a 100644 --- a/content/about.md +++ b/content/about.md @@ -3,7 +3,7 @@ date = '2024-12-12' title = 'Über mich' +++ -Mein Name ist _Jan Kremer_. Ich bin 29 Jahre alt und bin *Apotheker*. Manchmal schreibe ich über Technik und Software die ich benutze. +Mein Name ist _Jan Kremer_. Ich bin 29 Jahre alt und habe *Pharmazie* studiert. Manchmal schreibe ich über Technik und Software die ich benutze. Wenn ich nicht gerade lerne, mache ich gerne Sport, vor allem Joggen, Kraftsport und Tanzen. diff --git a/hugo.toml b/hugo.toml index c866ab6..0e97615 100644 --- a/hugo.toml +++ b/hugo.toml @@ -12,7 +12,7 @@ email = "mail@jankremer.eu" [menus] [[menus.main]] name = "Blog" -pageRef = "/" +pageRef = "/blog" weight = 1 [[menus.main]] name = "Fotos" diff --git a/layouts/_partials/header.html b/layouts/_partials/header.html index e3dfeea..ee05e7c 100644 --- a/layouts/_partials/header.html +++ b/layouts/_partials/header.html @@ -1,2 +1,6 @@ -{{ partial "logo.svg" . }}{{ site.Title }} +{{- $attrs := dict "class" "title" }} +{{- if .IsHome }} +{{- $attrs = merge $attrs (dict "class" "title active" "aria-current" "page") }} +{{- end }} +{{ partial "logo.svg" . }}{{ site.Title }} {{ partial "menu.html" (dict "menuID" "main" "page" .) }} From 4c1aa547e16576ad86402459f1c383189c4f7e96 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Tue, 17 Mar 2026 10:48:48 +0100 Subject: [PATCH 04/10] Move from Hugo to Zola --- .gitignore | 1 - .helix/languages.toml | 7 ++ README.md | 2 +- archetypes/blog.md | 7 -- archetypes/default.md | 5 -- archetypes/photos.md | 7 -- content/_index.md | 4 + content/about.md | 5 +- content/blog/_index.md | 6 ++ content/blog/discord.md | 22 +++-- content/blog/email.md | 10 ++- content/blog/markdown-tables.md | 16 ++-- content/blog/selbsthosting.md | 8 +- content/blog/timestamps.md | 22 ++--- content/btc.md | 6 +- content/eth.md | 6 +- content/fotos/_index.md | 6 ++ content/fotos/abendliche-bewoelkung/index.md | 14 ++- content/fotos/ustronie-morskie/index.md | 45 +++------- content/xmr.md | 6 +- flake.lock | 12 +-- flake.nix | 11 ++- hugo.toml | 50 ----------- layouts/_partials/footer.html | 25 ------ layouts/_partials/head.html | 27 ------ layouts/_partials/head/css.html | 14 --- layouts/_partials/head/js.html | 16 ---- layouts/_partials/header.html | 6 -- layouts/_partials/menu.html | 47 ---------- layouts/_partials/terms.html | 24 ------ layouts/baseof.html | 16 ---- layouts/home.html | 21 ----- layouts/list.atom.atom | 60 ------------- layouts/list.html | 18 ---- layouts/list.rss.xml | 63 -------------- layouts/single.html | 20 ----- {assets/css => static}/main.css | 31 ++----- static/pharmacist-0.txt | 15 ---- static/pharmacist-0.webp | Bin 282 -> 0 bytes templates/base.html | 70 +++++++++++++++ templates/blog-page.html | 19 +++++ templates/blog.html | 18 ++++ {layouts/_partials => templates}/cc.svg | 0 {layouts/_partials => templates}/git.svg | 0 templates/index.html | 21 +++++ {layouts/_partials => templates}/logo.svg | 0 templates/macros.html | 6 ++ templates/shortcodes/figure.html | 15 ++++ {layouts/_partials => templates}/zero.svg | 0 treefmt.nix | 1 + zola.toml | 85 +++++++++++++++++++ 51 files changed, 353 insertions(+), 563 deletions(-) create mode 100644 .helix/languages.toml delete mode 100644 archetypes/blog.md delete mode 100644 archetypes/default.md delete mode 100644 archetypes/photos.md create mode 100644 content/blog/_index.md create mode 100644 content/fotos/_index.md delete mode 100644 hugo.toml delete mode 100644 layouts/_partials/footer.html delete mode 100644 layouts/_partials/head.html delete mode 100644 layouts/_partials/head/css.html delete mode 100644 layouts/_partials/head/js.html delete mode 100644 layouts/_partials/header.html delete mode 100644 layouts/_partials/menu.html delete mode 100644 layouts/_partials/terms.html delete mode 100644 layouts/baseof.html delete mode 100644 layouts/home.html delete mode 100644 layouts/list.atom.atom delete mode 100644 layouts/list.html delete mode 100644 layouts/list.rss.xml delete mode 100644 layouts/single.html rename {assets/css => static}/main.css (95%) delete mode 100644 static/pharmacist-0.txt delete mode 100644 static/pharmacist-0.webp create mode 100644 templates/base.html create mode 100644 templates/blog-page.html create mode 100644 templates/blog.html rename {layouts/_partials => templates}/cc.svg (100%) rename {layouts/_partials => templates}/git.svg (100%) create mode 100644 templates/index.html rename {layouts/_partials => templates}/logo.svg (100%) create mode 100644 templates/macros.html create mode 100644 templates/shortcodes/figure.html rename {layouts/_partials => templates}/zero.svg (100%) create mode 100644 zola.toml diff --git a/.gitignore b/.gitignore index 088f2dc..565c39b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ /public/ -.hugo_build.lock .direnv diff --git a/.helix/languages.toml b/.helix/languages.toml new file mode 100644 index 0000000..7b022c7 --- /dev/null +++ b/.helix/languages.toml @@ -0,0 +1,7 @@ +[[language]] +name = "css" +auto-format = false + +[[language]] +name = "html" +auto-format = false diff --git a/README.md b/README.md index fa9426f..0adead1 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ ## Lizenz -CC0 1.0 \| Jan Kremer \| 2021–2025 +CC0 1.0 | Jan Kremer | 2021–2025 diff --git a/archetypes/blog.md b/archetypes/blog.md deleted file mode 100644 index 1ac76b1..0000000 --- a/archetypes/blog.md +++ /dev/null @@ -1,7 +0,0 @@ -+++ -title = {{ replace .Name "-" " " | title }} -date = {{ .Date }} -description = -tags = -draft = true -+++ diff --git a/archetypes/default.md b/archetypes/default.md deleted file mode 100644 index cf8c64f..0000000 --- a/archetypes/default.md +++ /dev/null @@ -1,5 +0,0 @@ -+++ -title = {{ replace .Name "-" " " | title }} -date = {{ .Date }} -draft = true -+++ diff --git a/archetypes/photos.md b/archetypes/photos.md deleted file mode 100644 index 1ac76b1..0000000 --- a/archetypes/photos.md +++ /dev/null @@ -1,7 +0,0 @@ -+++ -title = {{ replace .Name "-" " " | title }} -date = {{ .Date }} -description = -tags = -draft = true -+++ diff --git a/content/_index.md b/content/_index.md index ac36e06..e0db12e 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,2 +1,6 @@ +++ +title = "Jan Kremer" +sort_by = "date" +template = "index.html" +page_template = "blog-page.html" +++ diff --git a/content/about.md b/content/about.md index 14f705a..f5589cd 100644 --- a/content/about.md +++ b/content/about.md @@ -1,6 +1,7 @@ +++ -date = '2024-12-12' -title = 'Über mich' +title = "Über mich" +date = 2024-12-12 +updated = 2026-03-06 +++ Mein Name ist _Jan Kremer_. Ich bin 29 Jahre alt und habe *Pharmazie* studiert. Manchmal schreibe ich über Technik und Software die ich benutze. diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..c504e1b --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Blog" +sort_by = "date" +template = "blog.html" +page_template = "blog-page.html" ++++ diff --git a/content/blog/discord.md b/content/blog/discord.md index 19eef00..604c168 100644 --- a/content/blog/discord.md +++ b/content/blog/discord.md @@ -1,13 +1,23 @@ +++ -date = '2026-02-16T19:45:02+01:00' -tags = 'micro' -title = 'Discord' +title = "Discord" +date = 2026-02-16T19:45:02+01:00 +tags = [ "micro" ] +++ -Since [Discord announced](https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally) it will start asking users for age verification, I became obsessed with reading about alternatives to the platform. And there are a lot of them. As a self-hoster, I immediately thought of Matrix and XMPP. Both have their pros and cons and different implementations. +Since +[Discord announced](https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally) +it will start asking users for age verification, I became obsessed with reading +about alternatives to the platform. And there are a lot of them. As a +self-hoster, I immediately thought of Matrix and XMPP. Both have their pros and +cons and different implementations. -I was almost ready to pick one of them when I stopped and thought to myself, _would I really use them?_ +I was almost ready to pick one of them when I stopped and thought to myself, +_would I really use them?_ And my answer is a clear: **No!** -I will not replace Discord because _I don't even use Discord now_. I haven't had an account there for years. When I message my friends, it's either on Signal, WhatsApp, or iMessage, which are all end-to-end-encrypted (E2EE) messengers. The only thing I'm waiting for is E2EE RCS (Rich Communication Services) so I can ditch WhatsApp at some point. +I will not replace Discord because _I don't even use Discord now_. I haven't had +an account there for years. When I message my friends, it's either on Signal, +WhatsApp, or iMessage, which are all end-to-end-encrypted (E2EE) messengers. The +only thing I'm waiting for is E2EE RCS (Rich Communication Services) so I can +ditch WhatsApp at some point. diff --git a/content/blog/email.md b/content/blog/email.md index d0392c3..addc03c 100644 --- a/content/blog/email.md +++ b/content/blog/email.md @@ -1,7 +1,9 @@ +++ -date = '2026-02-20T15:46:52+01:00' -tags = 'micro' -title = 'Email' +title = "Email" +date = 2026-02-20T15:46:52+01:00 +tags = [ "micro" ] +++ -It's a shame we don't have _ubiquitous decentralized chat_ equivalent to **email**. I know **Matrix** and **XMPP** exist, but neither are complete enough. And they dont't have a lot of users. +It's a shame we don't have _ubiquitous decentralized chat_ equivalent to +**email**. I know **Matrix** and **XMPP** exist, but neither are complete +enough. And they dont't have a lot of users. diff --git a/content/blog/markdown-tables.md b/content/blog/markdown-tables.md index d9c3472..94c92e3 100644 --- a/content/blog/markdown-tables.md +++ b/content/blog/markdown-tables.md @@ -1,14 +1,14 @@ +++ -date = '2023-12-25T16:28:52+01:00' -tags = ['micro'] -title = 'Markdown Tables Suck' +title = "Markdown Tables Suck" +date = 2023-12-25T16:28:52+01:00 +tags = [ "micro" ] +++ -Tables are arguably the worst part of Markdown. -No horizontal lines except for the mandatory one at the top. -The only feature is the possibility to align cells. +Tables are arguably the worst part of Markdown. No horizontal lines except for +the mandatory one at the top. The only feature is the possibility to align +cells. Org Mode does much better, but isn't perfect either. -Don't get me wrong. It's nice to have a simple tool for simple tables. -But sometimes I need more customizability. +Don't get me wrong. It's nice to have a simple tool for simple tables. But +sometimes I need more customizability. diff --git a/content/blog/selbsthosting.md b/content/blog/selbsthosting.md index e50cb26..aa7431c 100644 --- a/content/blog/selbsthosting.md +++ b/content/blog/selbsthosting.md @@ -1,8 +1,8 @@ +++ -date = '2025-04-14' -description = 'Kleiner Computer, große Pläne' -tags = ['selbsthosting', 'nixos', 'git'] -title = 'Selbsthosting' +title = "Selbsthosting" +date = 2025-04-14 +description = "Kleiner Computer, große Pläne" +tags = [ "selbsthosting", "nixos", "git" ] +++ Seit etwa 2020 hat mich die Idee fasziniert, meinen _eigenen Server zu betreiben_ – also die volle Kontrolle über Daten, Dienste und Medien zu haben. Vor allem auf Reddit, und dort besonders in den Communities [r/selfhosted](https://www.reddit.com/r/selfhosted) und [r/homelab](https://www.reddit.com/r/homelab), habe ich immer wieder spannende Projekte gesehen. Lange blieb das für mich ein Traum – zu wenig Zeit, zu wenig Geld. Aber im April 2024 war es so weit: Mein kleines Selbsthosting-Abenteuer begann. diff --git a/content/blog/timestamps.md b/content/blog/timestamps.md index d7aa37b..9009b05 100644 --- a/content/blog/timestamps.md +++ b/content/blog/timestamps.md @@ -1,15 +1,17 @@ +++ -date = '2023-11-15T10:12:30+01:00' -tags = ['micro'] -title = 'Use Timestamps' +title= "Use Timestamps" +date= 2023-11-15T10:12:30+01:00 +tags= ["micro"] +++ -Every blog post should include a timestamp. -In fact, this extends to almost anything online and even offline. +Every blog post should include a timestamp. In fact, this extends to almost +anything online and even offline. -Also, don't make me look for the date. -Put the date as obvious as possible, preferably at the beginning of the post. +Also, don't make me look for the date. Put the date as obvious as possible, +preferably at the beginning of the post. -I was reading [Julia Evans post about nix](https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/) and it was not immediately clear to me if this was a recent post. -Only when I copied the URL to complain about it I discovered the date there. -Safari hides most of the URL by default. +I was reading +[Julia Evans post about nix](https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/) +and it was not immediately clear to me if this was a recent post. Only when I +copied the URL to complain about it I discovered the date there. Safari hides +most of the URL by default. diff --git a/content/btc.md b/content/btc.md index b0fe254..7f31670 100644 --- a/content/btc.md +++ b/content/btc.md @@ -1,7 +1,7 @@ +++ -date = '2022-12-10' -tags = ['crypto'] -title = 'Bitcoin' +title = "Bitcoin" +date = 2022-12-10 +tags = [ "crypto" ] +++ ## Address diff --git a/content/eth.md b/content/eth.md index fcaf491..7f0cb51 100644 --- a/content/eth.md +++ b/content/eth.md @@ -1,7 +1,7 @@ +++ -date = '2022-12-10' -tags = ['crypto'] -title = 'Ethereum' +title = "Ethereum" +date = 2022-12-10 +tags = [ "crypto" ] +++ ## Address diff --git a/content/fotos/_index.md b/content/fotos/_index.md new file mode 100644 index 0000000..e2e2303 --- /dev/null +++ b/content/fotos/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Fotos" +sort_by = "date" +template = "blog.html" +page_template = "blog-page.html" ++++ diff --git a/content/fotos/abendliche-bewoelkung/index.md b/content/fotos/abendliche-bewoelkung/index.md index 65394bb..2bd2054 100644 --- a/content/fotos/abendliche-bewoelkung/index.md +++ b/content/fotos/abendliche-bewoelkung/index.md @@ -1,12 +1,8 @@ +++ -date = '2023-07-19T10:48:33+02:00' -description = 'über Regensburg' -tags = ['fotos', 'regensburg'] -title = 'Abendliche Bewölkung' +title = "Abendliche Bewölkung" +date = 2023-07-19T10:48:33+02:00 +description = "über Regensburg" +tags = ["fotos", "regensburg"] +++ -{{< figure -src="./abendliche-bewoelkung.webp" -alt="Abendliche Bewölkung über Regensburg" -caption="Abendliche Bewölkung über Regensburg" -fetchpriority="high" >}} +{{ figure(src="./abendliche-bewoelkung.webp", alt="Abendliche Bewölkung über Regensburg")}} diff --git a/content/fotos/ustronie-morskie/index.md b/content/fotos/ustronie-morskie/index.md index 02da91a..d51dbf0 100644 --- a/content/fotos/ustronie-morskie/index.md +++ b/content/fotos/ustronie-morskie/index.md @@ -1,42 +1,21 @@ +++ -date = '2025-11-15T21:53:01+01:00' -description = 'Polen' -tags = ['fotos', 'polen'] -title = 'Ustronie Morskie' +title = "Ustronie Morskie" +description = "Polen" +date = 2025-11-15T21:53:01+01:00 +tags = ["fotos", "polen"] +++ -{{< figure -src="holzwall.jpeg" -alt="Holzwall" -caption="Holzwall" -fetchpriority="high" >}} +{{ figure(src="holzwall.jpeg" alt="Holzwall" caption="Holzwall" +first=true) }} -{{< figure -src="pfote.jpeg" -alt="Pfote" -caption="Pfote" >}} +{{ figure(src="pfote.jpeg" alt="Pfote" caption="Pfote") }} -{{< figure -src="nala.jpeg" -alt="Nala" -caption="Nala" >}} +{{ figure(src="nala.jpeg" alt="Nala" caption="Nala") }} -{{< figure -src="pier.jpeg" -alt="Pier" -caption="Pier" >}} +{{ figure(src="pier.jpeg" alt="Pier" caption="Pier") }} -{{< figure -src="Dom-1.jpeg" -alt="Kolberger Dom" -caption="Kolberger Dom" >}} +{{ figure(src="dom-1.jpeg" alt="Kolberger Dom" caption="Kolberger Dom")}} -{{< figure -src="dom-2.jpeg" -alt="Kolberger Dom" -caption="Kolberger Dom" >}} +{{ figure(src="dom-2.jpeg" alt="Kolberger Dom" caption="Kolberger Dom")}} -{{< figure -src="moeve.jpeg" -alt="Möve" -caption="Möve" >}} +{{ figure(src="moeve.jpeg" alt="Möve" caption="Möve")}} diff --git a/content/xmr.md b/content/xmr.md index 14e437f..4075a79 100644 --- a/content/xmr.md +++ b/content/xmr.md @@ -1,7 +1,7 @@ +++ -date = '2022-12-10' -tags = ['crypto'] -title = 'Monero' +title = "Monero" +date = 2022-12-10 +tags = [ "crypto" ] +++ ## Address diff --git a/flake.lock b/flake.lock index 22f9724..c7cfc97 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1768364046, - "narHash": "sha256-PDFfpswLiuG/DcadTBb7dEfO3jX1fcGlCD4ZKSkC0M8=", + "lastModified": 1771892004, + "narHash": "sha256-V96pa9awm6hjnf8yGJeoC4uOirYDEPsaBbuU0stROQI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea30586ee015f37f38783006a9bc9e4aa64d7d61", + "rev": "5e4522be6bdf1600682a6f383434b057b2d77a37", "type": "github" }, "original": { @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1768158989, - "narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=", + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e794473..a0b741c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Jan Kremer blog"; + description = "Blog von Jan Kremer"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; treefmt = { @@ -24,10 +24,9 @@ { devShells = eachSystem (pkgs: { default = pkgs.mkShell { - name = "Hugo website"; + name = "Zola website"; buildInputs = with pkgs; [ - go - hugo + zola vscode-langservers-extracted ]; }; @@ -50,7 +49,7 @@ program = (pkgs.writeShellScript "build-website" '' set -e - ${pkgs.hugo}/bin/hugo --minify + ${pkgs.zola}/bin/zola build --minify '').outPath; }; deploy = { @@ -63,7 +62,7 @@ program = (pkgs.writeShellScript "deploy-website" '' set -e - ${pkgs.hugo}/bin/hugo --minify + ${pkgs.zola}/bin/zola build --minify cd public git commit --all -m "Deploy" git push diff --git a/hugo.toml b/hugo.toml deleted file mode 100644 index 0e97615..0000000 --- a/hugo.toml +++ /dev/null @@ -1,50 +0,0 @@ -baseURL = "https://jankremer.eu/" -title = "Jan Kremer" -copyright = "CC0 1.0" -defaultContentLanguage = "de" -enableGitInfo = true - -[params] -[params.author] -name = "Jan Kremer" -email = "mail@jankremer.eu" - -[menus] -[[menus.main]] -name = "Blog" -pageRef = "/blog" -weight = 1 -[[menus.main]] -name = "Fotos" -pageRef = "/fotos" -weight = 2 -[[menus.main]] -name = "Über mich" -pageRef = "/about" -weight = 3 - -[markup] -[markup.goldmark] -[markup.goldmark.renderer] -unsafe = true -[markup.goldmark.parser] -wrapStandAloneImageWithinParagraph = false -[markup.goldmark.parser.attribute] -block = true -[markup.highlight] -style = "github" - -[mediaTypes] -[mediaTypes.'application/atom+xml'] -suffixes = ['atom'] - -[outputFormats] -[outputFormats.atom] -mediaType = 'application/atom+xml' -noUgly = true - -[outputs] -home = ['html', 'rss', 'atom'] -section = ['html', 'rss', 'atom'] -taxonomy = ['html', 'rss', 'atom'] -term = ['html', 'rss', 'atom'] diff --git a/layouts/_partials/footer.html b/layouts/_partials/footer.html deleted file mode 100644 index f1bce7b..0000000 --- a/layouts/_partials/footer.html +++ /dev/null @@ -1,25 +0,0 @@ - diff --git a/layouts/_partials/head.html b/layouts/_partials/head.html deleted file mode 100644 index f58d3f2..0000000 --- a/layouts/_partials/head.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - {{ if .IsHome }} - {{ site.Title }} -{{ else }} - {{ printf "%s – %s" .Title - site.Title - }} - {{ end }} - -{{ partialCached "head/css.html" . }} -{{ partialCached "head/js.html" . }} -{{ with .OutputFormats.Get "rss" }} -{{ printf `` .Rel .MediaType.Type .Permalink site.Title | safeHTML }} -{{ end }}{{ with .OutputFormats.Get "atom" }} -{{ printf `` .Rel .MediaType.Type .Permalink site.Title | safeHTML }} -{{ end }} diff --git a/layouts/_partials/head/css.html b/layouts/_partials/head/css.html deleted file mode 100644 index 2b0820f..0000000 --- a/layouts/_partials/head/css.html +++ /dev/null @@ -1,14 +0,0 @@ -{{- with resources.Get "css/main.css" }} -{{- if eq hugo.Environment -"development" -}} - -{{- else }} -{{- with . | minify | fingerprint }} - -{{- end }} -{{- end }} -{{- end }} diff --git a/layouts/_partials/head/js.html b/layouts/_partials/head/js.html deleted file mode 100644 index 925267e..0000000 --- a/layouts/_partials/head/js.html +++ /dev/null @@ -1,16 +0,0 @@ -{{- 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 deleted file mode 100644 index ee05e7c..0000000 --- a/layouts/_partials/header.html +++ /dev/null @@ -1,6 +0,0 @@ -{{- $attrs := dict "class" "title" }} -{{- if .IsHome }} -{{- $attrs = merge $attrs (dict "class" "title active" "aria-current" "page") }} -{{- end }} -{{ partial "logo.svg" . }}{{ site.Title }} -{{ partial "menu.html" (dict "menuID" "main" "page" .) }} diff --git a/layouts/_partials/menu.html b/layouts/_partials/menu.html deleted file mode 100644 index da71505..0000000 --- a/layouts/_partials/menu.html +++ /dev/null @@ -1,47 +0,0 @@ -{{- /* - 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/terms.html b/layouts/_partials/terms.html deleted file mode 100644 index b10860d..0000000 --- a/layouts/_partials/terms.html +++ /dev/null @@ -1,24 +0,0 @@ -{{- /* 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 }} -
    - -
    -{{- end }} diff --git a/layouts/baseof.html b/layouts/baseof.html deleted file mode 100644 index a949b43..0000000 --- a/layouts/baseof.html +++ /dev/null @@ -1,16 +0,0 @@ - - - {{ partial "head.html" . }} - -
    - {{ partial "header.html" . }} -
    -
    - {{ block "main" . }}{{ end }} -
    -
    - {{ partial "footer.html" . }} -
    - - diff --git a/layouts/home.html b/layouts/home.html deleted file mode 100644 index 50eeecd..0000000 --- a/layouts/home.html +++ /dev/null @@ -1,21 +0,0 @@ -{{ define "main" }} -{{ .Content }} -{{ $pages := .Paginate (where -.Site.RegularPages "Type" "ne" "page") -}} - -{{ end }} diff --git a/layouts/list.atom.atom b/layouts/list.atom.atom deleted file mode 100644 index 1085f74..0000000 --- a/layouts/list.atom.atom +++ /dev/null @@ -1,60 +0,0 @@ -{{- $authorEmail := "" }} -{{- with site.Params.author }} - {{- if reflect.IsMap . }} - {{- with .email }} - {{- $authorEmail = . }} - {{- end }} - {{- end }} -{{- end }} - -{{- $authorName := "" }} -{{- with site.Params.author }} - {{- if reflect.IsMap . }} - {{- with .name }} - {{- $authorName = . }} - {{- end }} - {{- else }} - {{- $authorName = . }} - {{- end }} -{{- end }} - -{{- $pctx := . }} -{{- if .IsHome }}{{ $pctx = .Site }}{{ end }} -{{- $pages := slice }} -{{- if or $.IsHome $.IsSection }} -{{- $pages = $pctx.RegularPages }} -{{- else }} -{{- $pages = $pctx.Pages }} -{{- end }} -{{- $limit := .Site.Config.Services.RSS.Limit }} -{{- if ge $limit 1 }} -{{- $pages = $pages | first $limit }} -{{- end }} - - {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }} - - - {{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }} - {{ .Permalink }} - - {{ with $authorName }}{{ . }}{{ end }} - {{ with $authorEmail }}{{ . }}{{ end }} - - Hugo - {{- range $pages }} - - {{ .Title }} - - {{ .Permalink }} - - {{ with $authorName }}{{ . }}{{ end }} - {{ with $authorEmail }}{{ . }}{{ end }} - - {{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }} - {{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }} - - {{ .Content | transform.XMLEscape | safeHTML }} - - - {{- end }} - diff --git a/layouts/list.html b/layouts/list.html deleted file mode 100644 index c62e475..0000000 --- a/layouts/list.html +++ /dev/null @@ -1,18 +0,0 @@ -{{ define "main" }} -{{ .Content }} - -{{ end }} diff --git a/layouts/list.rss.xml b/layouts/list.rss.xml deleted file mode 100644 index 3860ac1..0000000 --- a/layouts/list.rss.xml +++ /dev/null @@ -1,63 +0,0 @@ -{{- $authorEmail := "" }} -{{- with site.Params.author }} - {{- if reflect.IsMap . }} - {{- with .email }} - {{- $authorEmail = . }} - {{- end }} - {{- end }} -{{- end }} - -{{- $authorName := "" }} -{{- with site.Params.author }} - {{- if reflect.IsMap . }} - {{- with .name }} - {{- $authorName = . }} - {{- end }} - {{- else }} - {{- $authorName = . }} - {{- end }} -{{- end }} - -{{- $pctx := . }} -{{- if .IsHome }}{{ $pctx = .Site }}{{ end }} -{{- $pages := slice }} -{{- if or $.IsHome $.IsSection }} -{{- $pages = $pctx.RegularPages }} -{{- else }} -{{- $pages = $pctx.Pages }} -{{- end }} -{{- $limit := .Site.Config.Services.RSS.Limit }} -{{- if ge $limit 1 }} -{{- $pages = $pages | first $limit }} -{{- end }} -{{- 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 - {{ site.Language.LanguageCode }}{{ with $authorEmail }} - {{.}}{{ with $authorName }} ({{ . }}){{ end }}{{ end }}{{ with $authorEmail }} - {{ . }}{{ with $authorName }} ({{ . }}){{ 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 }} - - {{ .Title }} - {{ .Permalink }} - {{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{- with $authorEmail }}{{ . }}{{ with $authorName }} ({{ . }}){{ end }}{{ end }} - {{ .Permalink }} - - <strong>{{ .Description | transform.XMLEscape | safeHTML }}</strong> - - {{ .Content | transform.XMLEscape | safeHTML }} - - - {{- end }} - - diff --git a/layouts/single.html b/layouts/single.html deleted file mode 100644 index 9ce735a..0000000 --- a/layouts/single.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ define "main" }} -
    - {{ $dateHuman := .Date | time.Format ":date_long" }} - {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} - {{ $lastmodDateHuman := .Lastmod | time.Format ":date_long" }} - {{ $lastmodDateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }} -
    -

    - Editiert: - -

    -

    - -

    -
    -

    {{ .Title }}

    -

    {{ .Description }}

    - {{ .Content }} -
    -{{ end }} diff --git a/assets/css/main.css b/static/main.css similarity index 95% rename from assets/css/main.css rename to static/main.css index 61f416c..7aab05c 100644 --- a/assets/css/main.css +++ b/static/main.css @@ -164,11 +164,6 @@ svg { } } } - - &.active { - text-decoration: underline; - text-decoration-color: var(--uchu-blue); - } } header { @@ -351,24 +346,14 @@ footer { } } -code { - font-family: var(--mono); - border-radius: 0.3rem; - font-size: 0.8rem; - margin: 0; - padding: 0 1rem; -} - -.highlight { - font-family: var(--mono); +.giallo { border: 1px solid light-dark(var(--uchu-gray), var(--uchu-dark-gray)); border-radius: 0.3rem; - margin: 1rem 0; - padding: 0 1rem; - overflow: auto; +} - pre { - margin: 0; - padding: 0; - } -} \ No newline at end of file +.giallo-l { + font-family: var(--mono); + padding: 1rem; + overflow: auto; + display: block; +} diff --git a/static/pharmacist-0.txt b/static/pharmacist-0.txt deleted file mode 100644 index a9f5d1d..0000000 --- a/static/pharmacist-0.txt +++ /dev/null @@ -1,15 +0,0 @@ - ▄▄▀▀▄▀▀▀▀▀▀▀▀▄▄ - ▄▀ █ - ▄▀ ▄▄▄ █ - █ ▄▀▀▀ ▀▀▀▀▀▀▀█▀ - ▀▄▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ - █ █ █ - ▀█▀▄ ▄▀▄ ▄▀ - █ ▀▀▀▀▀ ▀▀▀▀█ - █ █ - █ ▀▀▀▀ █ - █ ▄▀ - █ █▀▀▀▀▀▀ -▄▀▀▀▄ ▄▀▀▀▄ -█ ▀▄▀ █ -█ █ ▀▀ █ diff --git a/static/pharmacist-0.webp b/static/pharmacist-0.webp deleted file mode 100644 index a86eebb48ad63f0790fbe3f48f565ff2b4680dd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmWIYbaNA8WMBw)bqWXzu<&7HWMI($f3RM_+(9hCs5$m$eCEI{Eo&+uWt3D4a#Op84xDJ3q{O-R&9VC4Q`9%#t?=Hr`=fBp`e|G)ju9zLsN zum19qC9M&~Qzj^uFfA{|Go4=vfZNBdfyXEoAvTvtt7oW)vY + + + + + {% if current_path == "/" %} + {{ config.title }} + {% elif section %} + {{ section.title }} – {{ config.title }} + {% elif page %} + {{ page.title }} – {{ config.title }} + {% endif %} + + + + + + + + + + + + {% block rss %} + + + {% endblock %} + + + +
    + {{ load_data(path="templates/logo.svg") | safe }}Jan Kremer + +
    +
    + {% block content %} + {% endblock content %} +
    + + + diff --git a/templates/blog-page.html b/templates/blog-page.html new file mode 100644 index 0000000..680bead --- /dev/null +++ b/templates/blog-page.html @@ -0,0 +1,19 @@ +{% extends "base.html" %} +{% block content %} +
    +
    +

    + +

    + {% if page.updated %} +

    + Aktualisiert: +

    + {% endif %} +
    +

    {{ page.title }}

    +

    {{ page.description }}

    + {{ page.content | safe }} +
    +{% endblock content %} diff --git a/templates/blog.html b/templates/blog.html new file mode 100644 index 0000000..c4b4f0c --- /dev/null +++ b/templates/blog.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% block content %} + +{% endblock content %} diff --git a/layouts/_partials/cc.svg b/templates/cc.svg similarity index 100% rename from layouts/_partials/cc.svg rename to templates/cc.svg diff --git a/layouts/_partials/git.svg b/templates/git.svg similarity index 100% rename from layouts/_partials/git.svg rename to templates/git.svg diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..b2afb98 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} +{% block content %} +
    + +
    +{% endblock content %} diff --git a/layouts/_partials/logo.svg b/templates/logo.svg similarity index 100% rename from layouts/_partials/logo.svg rename to templates/logo.svg diff --git a/templates/macros.html b/templates/macros.html new file mode 100644 index 0000000..b1750b5 --- /dev/null +++ b/templates/macros.html @@ -0,0 +1,6 @@ +{% macro menu_item(url, name) %} +
  • + {{ name }} +
  • +{% endmacro %} diff --git a/templates/shortcodes/figure.html b/templates/shortcodes/figure.html new file mode 100644 index 0000000..c4ff249 --- /dev/null +++ b/templates/shortcodes/figure.html @@ -0,0 +1,15 @@ +
    + + {% if caption or alt %} +
    +

    + {% if caption %} + {{ caption }} + {% elif alt %} + {{ alt }} + {% endif %} +

    +
    + {% endif %} +
    diff --git a/layouts/_partials/zero.svg b/templates/zero.svg similarity index 100% rename from layouts/_partials/zero.svg rename to templates/zero.svg diff --git a/treefmt.nix b/treefmt.nix index 7205383..9bc011c 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -2,6 +2,7 @@ programs = { nixfmt.enable = true; taplo.enable = true; + mdformat.enable = true; djlint.enable = true; }; settings.global.excludes = [ diff --git a/zola.toml b/zola.toml new file mode 100644 index 0000000..b094735 --- /dev/null +++ b/zola.toml @@ -0,0 +1,85 @@ +# The URL the site will be built for +base_url = "https://jankremer.eu" + +title = "Jan Kremer" +description = "Blog von Jan Kremer" +author = "Jan Kremer" + +default_language = "de" + +# Whether dotfiles at the root level of the output directory are preserved when (re)building the site. +# Enabling this also prevents the deletion of the output folder itself on rebuilds. +# preserve_dotfiles_in_output = true + +generate_feeds = true +feed_filenames = ["atom.xml", "rss.xml"] + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] + +# CSS class to add to external links (e.g. "external-link") +# external_links_class = + +# Whether to set decoding="async" and loading="lazy" for all images +# When turned on, the alt text must be plain text. +# For example, `![xx](...)` is ok but `![*x*x](...)` isn’t ok +lazy_async_image = true +definition_list = true +bottom_footnotes = true +smart_punctuation = true + +# When set to "true", support for GitHub-style alerts, a.k.a. callouts or admonitions, is enabled in the Markdown parser. +# For example, this Markdown syntax: +# +# > [!NOTE] +# > alert note +# +# will result in the following generated HTML: +# +#
    +#

    alert note

    +#
    +# +# where the CSS class name suffix may be `note`, `tip`, `important`, `warning`, or `caution`, depending on the alert type. +# Visual appearance depends on theme-level support; refer to your theme's documentation for more information. +github_alerts = false + +# insert_anchor_links = "left" + +[markdown.highlighting] +error_on_missing_language = true + +# Whether to use inline hex colours (`inline`) or CSS classes (`class`) +style = "inline" + +light_theme = "catppuccin-latte" +dark_theme = "catppuccin-macchiato" + +# A list of files for additional JSON TextMate grammars +extra_grammars = [] + +[search] +# Whether to include the title of the page/section in the index +include_title = true +# Whether to include the description of the page/section in the index +include_description = false +# Whether to include the RFC3339 datetime of the page in the search index +include_date = false +# Whether to include the path of the page/section in the index (the permalink is always included) +include_path = false +# Whether to include the rendered content of the page/section in the index +include_content = true +# At which code point to truncate the content to. Useful if you have a lot of pages and the index would +# become too big to load on the site. Defaults to not being set. +# truncate_content_length = 100 + +# Whether to produce the search index as a javascript file or as a JSON file +# Accepted values: +# - "elasticlunr_javascript", "elasticlunr_json" +# - "fuse_javascript", "fuse_json" +index_format = "elasticlunr_javascript" + +[extra] +# Put all your custom variables here From a4bfec11f521074f45885ffdba07aad3d24bf9c6 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Tue, 17 Mar 2026 11:12:18 +0100 Subject: [PATCH 05/10] Fix feed links --- content/about.md | 4 ++-- templates/base.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/about.md b/content/about.md index f5589cd..775e8a3 100644 --- a/content/about.md +++ b/content/about.md @@ -1,10 +1,10 @@ +++ title = "Über mich" date = 2024-12-12 -updated = 2026-03-06 +updated = 2026-03-17 +++ -Mein Name ist _Jan Kremer_. Ich bin 29 Jahre alt und habe *Pharmazie* studiert. Manchmal schreibe ich über Technik und Software die ich benutze. +Mein Name ist *Jan Kremer*. Ich bin 29 Jahre alt und habe *Pharmazie* studiert. Manchmal schreibe ich über Technik und Software die ich benutze. Wenn ich nicht gerade lerne, mache ich gerne Sport, vor allem Joggen, Kraftsport und Tanzen. diff --git a/templates/base.html b/templates/base.html index 7064e1c..c7f6a6a 100644 --- a/templates/base.html +++ b/templates/base.html @@ -26,11 +26,11 @@ + href="{{ get_url(path="atom.xml", trailing_slash=false) }}"> + href="{{ get_url(path="rss.xml", trailing_slash=false) }}"> {% endblock %} From 3a35b1dae70c94bbd893697180e3de069617bf2e Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Wed, 18 Mar 2026 08:22:13 +0100 Subject: [PATCH 06/10] Remove deprecated links --- content/blog/selbsthosting.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/selbsthosting.md b/content/blog/selbsthosting.md index aa7431c..27ec044 100644 --- a/content/blog/selbsthosting.md +++ b/content/blog/selbsthosting.md @@ -35,7 +35,7 @@ Das Betriebssystem meiner Wahl ist [NixOS](https://nixos.org/). Hauptsächlich, **Deklarativ** bedeutet: Ich beschreibe in einer Konfigurationsdatei, _was_ das System tun soll – nicht _wie_. Dadurch ist mein Setup reproduzierbar, nachvollziehbar und schnell wiederherstellbar. -Viele Dienste lassen sich mit nur wenigen Zeilen Code aktivieren. Ich habe [meine Konfiguration](https://github.com/jukremer/nix-config) auf GitHub veröffentlicht, falls jemand reinschauen oder sie als Grundlage verwenden möchte. +Viele Dienste lassen sich mit nur wenigen Zeilen Code aktivieren. ~~Ich habe meine Konfiguration auf GitHub veröffentlicht, falls jemand reinschauen oder sie als Grundlage verwenden möchte.~~ ### Tailscale @@ -69,4 +69,4 @@ Ein weiterer Grund: Ich habe den Server _kaum genutzt_. Meine iCloud läuft noch Aber: Ich habe in den letzten 8 Monaten extrem viel gelernt – über Linux, Netzwerke, NixOS, Systemadministration, Sicherheit und mehr. Das Projekt hat mir gezeigt, wie viel man aus einem alten Mini-PC herausholen kann. Vielleicht wird der Server eines Tages reaktiviert – in neuer Form. Für den Moment war es vor allem: _ein spannendes Lernprojekt_. -Falls du Fragen hast oder selbst mit Selbsthosting starten willst: Schreib mir gern oder schau dir [meine Konfiguration](https://github.com/jukremer/nix-config) auf GitHub an. Vielleicht hilft dir mein Weg ja bei deinem Einstieg. +Falls du Fragen hast oder selbst mit Selbsthosting starten willst: Schreib mir gern ~~oder schau dir meine Konfiguration auf GitHub an~~. Vielleicht hilft dir mein Weg ja bei deinem Einstieg. From aca33874920f71c645c19370b5f5ab09f8574514 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Thu, 26 Mar 2026 19:11:05 +0100 Subject: [PATCH 07/10] Deploy as jankremer.de to nimbus (Oracle) --- README.md | 4 ++-- content/about.md | 2 +- content/blog/still-self-hosting.md | 8 ++++++++ content/btc.md | 4 ++-- content/eth.md | 2 +- content/xmr.md | 4 ++-- flake.nix | 12 +++++------- zola.toml | 2 +- 8 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 content/blog/still-self-hosting.md diff --git a/README.md b/README.md index 0adead1..3491a2e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Webseite von Jan Kremer -[Webseite](https://jankremer.eu) +[Webseite](https://jankremer.de) ## Lizenz -CC0 1.0 | Jan Kremer | 2021–2025 +CC0 1.0 | Jan Kremer | 2021–2026 diff --git a/content/about.md b/content/about.md index 775e8a3..6695b6a 100644 --- a/content/about.md +++ b/content/about.md @@ -10,4 +10,4 @@ Wenn ich nicht gerade lerne, mache ich gerne Sport, vor allem Joggen, Kraftsport ## Kontakt -[mail@jankremer.eu](mailto:mail@jankremer.eu) +[mail@jankremer.de](mailto:mail@jankremer.de) diff --git a/content/blog/still-self-hosting.md b/content/blog/still-self-hosting.md new file mode 100644 index 0000000..4035f98 --- /dev/null +++ b/content/blog/still-self-hosting.md @@ -0,0 +1,8 @@ ++++ +title = "Still self hosting" +date = 2025-04-14 +description = "Guess who's back" +tags = [ "selbsthosting", "nixos", "git" ] ++++ + +About a year ago I wrote a post about my self hosting journey which ended with me shutting down my server diff --git a/content/btc.md b/content/btc.md index 7f31670..c5511a3 100644 --- a/content/btc.md +++ b/content/btc.md @@ -17,9 +17,9 @@ bc1qf8qjt4gut2la8k4v3emfv7wrj6f3pfcjrj3slplnwrldkz7hqmaqaju7ym ## OpenAlias ```txt -jankremer.eu +jankremer.de ``` ```txt -btc.jankremer.eu +btc.jankremer.de ``` diff --git a/content/eth.md b/content/eth.md index 7f0cb51..9ebd6ca 100644 --- a/content/eth.md +++ b/content/eth.md @@ -17,5 +17,5 @@ tags = [ "crypto" ] ## ENS ```txt -jankremer.eu +jankremer.de ``` diff --git a/content/xmr.md b/content/xmr.md index 4075a79..e1789f6 100644 --- a/content/xmr.md +++ b/content/xmr.md @@ -17,9 +17,9 @@ tags = [ "crypto" ] ## OpenAlias ```txt -jankremer.eu +jankremer.de ``` ```txt -xmr.jankremer.eu +xmr.jankremer.de ``` diff --git a/flake.nix b/flake.nix index a0b741c..424ac44 100644 --- a/flake.nix +++ b/flake.nix @@ -42,8 +42,8 @@ default = { type = "app"; meta = { - description = "Build my blog"; - homepage = "https://jankremer.eu"; + description = "Build website"; + homepage = "https://jankremer.de"; license = nixpkgs.lib.licenses.cc0; }; program = @@ -55,17 +55,15 @@ deploy = { type = "app"; meta = { - description = "Deploy to Codeberg"; - homepage = "https://kremer.codeberg.page"; + description = "Deploy to nimbus (Oracle)"; + homepage = "https://jankremer.de"; license = nixpkgs.lib.licenses.cc0; }; program = (pkgs.writeShellScript "deploy-website" '' set -e ${pkgs.zola}/bin/zola build --minify - cd public - git commit --all -m "Deploy" - git push + ${pkgs.rsync}/bin/rsync -avP --delete public/ jan@jankremer.de:/var/www/jankremer.de/ '').outPath; }; }); diff --git a/zola.toml b/zola.toml index b094735..004c09b 100644 --- a/zola.toml +++ b/zola.toml @@ -1,5 +1,5 @@ # The URL the site will be built for -base_url = "https://jankremer.eu" +base_url = "https://jankremer.de" title = "Jan Kremer" description = "Blog von Jan Kremer" From 64270fbde722ee930f055f3eb540b9025f40e9ba Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Thu, 26 Mar 2026 19:12:03 +0100 Subject: [PATCH 08/10] Remove GitHub action --- .github/workflows/main.yml | 52 -------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 675de11..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Deploy website to Pages - -on: - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: "pages" - cancel-in-progress: false - -defaults: - run: - shell: bash - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@main - with: - submodules: true - fetch-depth: 0 - - name: Setup Pages - id: pages - uses: actions/configure-pages@main - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/flake-checker-action@main - - name: Build website - run: nix run . - - name: Upload to GitHub Pages - uses: actions/upload-pages-artifact@main - with: - path: ./public - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@main From 7f9ae523a4affaba45447a09ef8ceee7bed0cc40 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Fri, 27 Mar 2026 06:58:27 +0100 Subject: [PATCH 09/10] Fix --- content/blog/github.md | 9 +++++++++ content/blog/still-self-hosting.md | 3 ++- content/eth.md | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 content/blog/github.md diff --git a/content/blog/github.md b/content/blog/github.md new file mode 100644 index 0000000..9f6d0c7 --- /dev/null +++ b/content/blog/github.md @@ -0,0 +1,9 @@ ++++ +title = "Leaving GitHub" +date = 2026-03-27 +description = "" +tags = [] +draft = true ++++ + +About a year ago I wrote a post about my self hosting journey which ended with me shutting down my server diff --git a/content/blog/still-self-hosting.md b/content/blog/still-self-hosting.md index 4035f98..5336f00 100644 --- a/content/blog/still-self-hosting.md +++ b/content/blog/still-self-hosting.md @@ -1,8 +1,9 @@ +++ title = "Still self hosting" -date = 2025-04-14 +date = 2026-03-27 description = "Guess who's back" tags = [ "selbsthosting", "nixos", "git" ] +draft = true +++ About a year ago I wrote a post about my self hosting journey which ended with me shutting down my server diff --git a/content/eth.md b/content/eth.md index 9ebd6ca..7f0cb51 100644 --- a/content/eth.md +++ b/content/eth.md @@ -17,5 +17,5 @@ tags = [ "crypto" ] ## ENS ```txt -jankremer.de +jankremer.eu ``` From b12087238b3ec27876a452f5cc96f34fbf305716 Mon Sep 17 00:00:00 2001 From: Jan Kremer Date: Fri, 27 Mar 2026 08:11:14 +0100 Subject: [PATCH 10/10] Add 404 page --- templates/404.html | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 templates/404.html diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 0000000..ef8f50e --- /dev/null +++ b/templates/404.html @@ -0,0 +1,58 @@ + + + + + 404 – {{ config.title }} + + + + + + + + + + + + + +
    + {{ load_data(path="templates/logo.svg") | safe }}Jan Kremer + +
    +
    +
    +

    404 Not Found

    +
    +
    + + +