meta: Update design and structure

This commit is contained in:
Jan Kremer 2025-04-26 14:54:33 +02:00
parent 10df7deea3
commit c184aad39e
Signed by: jan
GPG key ID: A7DA689CB3B078EC
15 changed files with 152 additions and 135 deletions

View file

@ -97,7 +97,6 @@
body { body {
font-family: var(--sans-serif); font-family: var(--sans-serif);
font-variant-numeric: oldstyle-nums;
margin: auto; margin: auto;
padding: 1rem; padding: 1rem;
max-width: 80ch; max-width: 80ch;
@ -113,94 +112,44 @@ main {
a { a {
color: var(--uchu-blue); color: var(--uchu-blue);
text-decoration: none; text-decoration: none;
&:hover { &:hover {
text-decoration-color: var(--uchu-blue); text-decoration-color: var(--uchu-blue);
text-decoration: underline; text-decoration: underline;
} }
} }
article {
line-height: 1.5;
text-wrap: pretty;
text-align: justify;
text-justify: inter-word;
& img {
width: 100%;
}
> p:nth-of-type(2)::first-letter {
font-size: 3.3rem;
float: left;
line-height: 3rem;
padding-right: 0.2rem;
}
& p {
font-family: var(--serif);
}
& ul {
font-family: var(--serif);
}
}
h1 {
text-align: center;
}
em {
color: var(--uchu-red);
}
strong {
color: var(--uchu-orange);
}
abbr {
text-decoration-color: var(--uchu-blue);
}
table {
border-collapse: collapse;
width: 90%;
margin: 5%;
& th {
text-align: left;
border-bottom: 1px solid;
}
}
.title { .title {
color: light-dark(var(--uchu-yin), var(--uchu-yang)); color: light-dark(var(--uchu-yin), var(--uchu-yang));
font-family: var(--serif);
font-weight: bold; font-weight: bold;
font-variant: normal; font-variant: normal;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 1.5rem; font-size: 1.5rem;
& svg {
svg {
height: 1.5rem; height: 1.5rem;
margin: 0.5rem; margin: 0.5rem;
vertical-align: middle; vertical-align: middle;
fill: light-dark((var(--uchu-yin)), var(--uchu-yang)); fill: light-dark(var(--uchu-yin), var(--uchu-yang));
@media (prefers-color-scheme: dark) { path { fill: white; } }
} }
} }
header { header {
border-bottom: 1px solid var(--uchu-gray); border-bottom: 1px solid var(--uchu-gray);
font-size: 1.25rem; font-size: 1.25rem;
font-family: var(--serif);
font-weight: bold; font-weight: bold;
font-variant: small-caps;
& nav { nav {
& ul { ul {
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
list-style: none; list-style: none;
padding: 0 0.5rem; padding: 0 0.5rem;
& a { a { color: light-dark(var(--uchu-yin), var(--uchu-yang)); }
color: light-dark((var(--uchu-yin)), var(--uchu-yang));
text-decoration: none;
}
.active { .active {
text-decoration: underline; text-decoration: underline;
@ -210,78 +159,142 @@ header {
} }
} }
article {
line-height: 1.5;
text-wrap: pretty;
text-align: justify;
text-justify: inter-word;
font-variant-numeric: oldstyle-nums;
img { width: 100%; }
>p:nth-of-type(2)::first-letter {
font-size: 3.3rem;
float: left;
line-height: 3rem;
padding-right: 0.2rem;
}
p, ul { font-family: var(--serif); }
.dates {
display: flex;
justify-content: space-between;
p {
margin: 0;
padding: 0;
}
}
h1 {
text-align: center;
margin: 0;
font-size: 1.75rem;
}
.lead {
font-family: var(--sans-serif);
text-align: center;
font-size: 1.5rem;
margin: 0;
}
em { color: var(--uchu-red); }
strong { color: var(--uchu-orange); }
abbr { text-decoration-color: var(--uchu-blue); }
table {
border-collapse: collapse;
width: 90%;
margin: 5%;
th {
text-align: left;
border-bottom: 1px solid;
}
}
}
footer { footer {
font-family: var(--serif);
border-top: 1px solid var(--uchu-gray); border-top: 1px solid var(--uchu-gray);
& ul {
ul {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
list-style: none; list-style: none;
font-size: 0.75rem; font-size: 0.75rem;
padding: 1rem; padding: 1rem;
& a {
a {
text-decoration: none; text-decoration: none;
&:hover { color: light-dark(var(--uchu-yin), var(--uchu-yang));
text-decoration: none;
} &:hover { text-decoration: none; }
} }
& svg {
svg {
height: 0.75rem; height: 0.75rem;
width: 0.75rem; width: 0.75rem;
padding: 0.1rem;
vertical-align: middle; vertical-align: middle;
} }
#title {
svg {
@media (prefers-color-scheme: dark) { path { fill: white; } }
}
}
} }
} }
.list { .list {
color: light-dark(var(--uchu-yin), var(--uchu-yang)); ul {
& h2 {
margin-top: 1.25rem;
margin-bottom: 0;
}
.lead {
margin: 0;
font-size: 1rem;
text-align: left;
text-decoration: none;
}
}
.tags {
& ul {
list-style: none; list-style: none;
display: flex; padding: 0;
justify-content: space-between;
padding: 0 1rem;
font-size: 0.75rem;
} }
}
.lead { li {
font-family: var(--sans-serif); padding: 1rem;
text-align: center; border-left: solid transparent 3px;
font-size: 1.5rem;
margin-bottom: 1rem; a {
color: light-dark(var(--uchu-yin), var(--uchu-yang));
text-decoration: none;
}
&:hover {
border-left: solid var(--uchu-blue) 3px;
text-decoration: none;
}
h2 { margin: 0; }
.lead {
margin: 0;
font-size: 1rem;
text-align: left;
text-decoration: none;
}
}
} }
code { code {
border-radius: 0.3em; border-radius: 0.3rem;
padding: 0.1em 0.2em; font-size: 0.8rem;
font-size: 0.9em; margin: 0;
padding: 0 1rem;
} }
.highlight { .highlight {
background: light-dark(var(--uchu-gray), var(--uchu-dark-gray)); background: light-dark(var(--uchu-gray), var(--uchu-dark-gray));
border-radius: 0.3rem; border-radius: 0.3rem;
padding: 0.5em 0.5em; padding: 0.5rem 0rem;
margin: 1rem 0; margin: 1rem 0;
overflow: auto; overflow: auto;
& code {
margin: 0; pre {
padding: 0;
}
& pre {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }

View file

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 303 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
--- ---
title: Selbsthosting title: Selbsthosting
date: 2024-12-28T07:22:14+01:00 date: 2025-04-14
description: Kleiner Computer, große Pläne description: Kleiner Computer, große Pläne
tags: tags:
- selbsthosting - selbsthosting
@ -8,7 +8,7 @@ tags:
- git - 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. 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.
## Hardware ## Hardware
@ -68,8 +68,8 @@ Seit Januar ist mein Server abgeschaltet.
Der Lüfter des Mini-PCs sowie die externe Festplatte liefen dauerhaft das führte zu einem nicht unerheblichen **Stromverbrauch** und konstantem **Hintergrundrauschen**. Beides ließe sich vermutlich optimieren, z.B. durch bessere Energieeinstellungen oder leisere Hardware. Dazu müsste ich mich aber erst mal reinfuchsen und zudem mehr Geld ausgeben. Der Lüfter des Mini-PCs sowie die externe Festplatte liefen dauerhaft das führte zu einem nicht unerheblichen **Stromverbrauch** und konstantem **Hintergrundrauschen**. Beides ließe sich vermutlich optimieren, z.B. durch bessere Energieeinstellungen oder leisere Hardware. Dazu müsste ich mich aber erst mal reinfuchsen und zudem mehr Geld ausgeben.
Ein weiterer Grund: Ich habe den Server *kaum genutzt*. Meine iCloud läuft noch, Streaming mache ich momentan wenig und durch begrenztes Datenvolumen ist exzessives Streaming ohnehin keine Option. Ein weiterer Grund: Ich habe den Server _kaum genutzt_. Meine iCloud läuft noch, Streaming mache ich momentan wenig und durch begrenztes Datenvolumen ist exzessives Streaming ohnehin keine Option.
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*. 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](https://github.com/jukremer/nix-config) auf GitHub an. Vielleicht hilft dir mein Weg ja bei deinem Einstieg.

View file

@ -19,7 +19,3 @@ tags: [crypto]
```txt ```txt
jankremer.eu jankremer.eu
``` ```
## OpenSea
[Echinacea](https://opensea.io/Echinacea)

View file

@ -1,4 +0,0 @@
---
title: Posts
date: 2022-12-10
---

View file

@ -15,8 +15,8 @@ params:
email: mail@jankremer.eu email: mail@jankremer.eu
menus: menus:
main: main:
- name: Posts - name: Blog
pageRef: /posts pageRef: /
weight: 1 weight: 1
- name: Über mich - name: Über mich
pageRef: /about pageRef: /about

View file

@ -3,17 +3,19 @@
{{ $pages := .Paginate (where {{ $pages := .Paginate (where
.Site.RegularPages "Type" "ne" "page") .Site.RegularPages "Type" "ne" "page")
}} }}
<div class="list">
<ul>
{{ range $pages.Pages }} {{ range $pages.Pages }}
<li>
<a href="{{ .RelPermalink }}" style="display: block"> <a href="{{ .RelPermalink }}" style="display: block">
<div class="list">
<h2>{{ .Title }}</h2> <h2>{{ .Title }}</h2>
<p class="lead">{{ .Description }}</p> <p class="lead">{{ .Description }}</p>
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }} {{ $dateHuman := .Date | time.Format ":date_long" }}
{{ $dateHuman := .Lastmod | time.Format ":date_long" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
</div>
</a> </a>
</li>
{{ end }} {{ end }}
</ul>
</div>
{{ end }} {{ end }}

View file

@ -1,16 +1,20 @@
{{ define "main" }} {{ define "main" }}
{{ .Content }} {{ .Content }}
<div class="list">
<ul>
{{ range .Pages }} {{ range .Pages }}
<a href="{{ .RelPermalink }}" style="display: block"> <li>
<div class="list"> <a href="{{ .RelPermalink }}" style="display: block">
<h2>{{ .Title }}</h2> <h2>{{ .Title }}</h2>
<p class="lead">{{ .Description }}</p> <p class="lead">{{ .Description }}</p>
{{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }} {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := .Lastmod | time.Format ":date_long" }} {{ $dateHuman := .Date | time.Format ":date_long" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
</div>
</a> </a>
</li>
{{ end }} {{ end }}
</ul>
</div>
{{ end }} {{ end }}

View file

@ -1,14 +1,15 @@
{{ define "main" }} {{ define "main" }}
<article> <article>
{{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }} {{ $dateHuman := .Date | time.Format ":date_long" }}
{{ $dateHuman := .Lastmod | time.Format ":date_long" }} {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> {{ $lastmodDateHuman := .Lastmod | time.Format ":date_long" }}
{{ $lastmodDateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }}
<div class="dates">
<p>Editiert: <time datetime="{{ $lastmodDateMachine }}">{{ $lastmodDateHuman }}</time></p>
<p><time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time></p>
</div>
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
<p class="lead">{{ .Description }}</p> <p class="lead">{{ .Description }}</p>
{{ .Content }} {{ .Content }}
</article> </article>
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
{{ end }} {{ end }}

View file

@ -6,8 +6,10 @@
</a> </a>
</li> </li>
<li> <li>
<a href="/about" id="title">
{{ partial "logo.svg" . }} {{ partial "logo.svg" . }}
{{ site.Title }} {{ site.Title }}
</a>
</li> </li>
<li>2021{{ now.Year }}</li> <li>2021{{ now.Year }}</li>
</ul> </ul>

View file

@ -10,10 +10,13 @@
}} }}
{{- $label := (index . 0).Parent.LinkTitle }} {{- $label := (index . 0).Parent.LinkTitle }}
<div class="tags"> <div class="tags">
<ul>
<li>Tags:</li>
<ul> <ul>
{{- range . }} {{- range . }}
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li> <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end }} {{- end }}
</ul> </ul>
</ul>
</div> </div>
{{- end }} {{- end }}