Personal Website, vers. 1 (pushed far to late)
This commit is contained in:
commit
c8df66d3da
103 files changed
+8977
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 86 KiB |
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Diese Website
|
||||
summary: Eigene Seite mit Node.js und Express, Inhalte als Markdown-Dateien, ausgeliefert als Docker-Container.
|
||||
---
|
||||
|
||||
Ich wollte eine Seite, die ich selbst verstehe und ohne CMS pflegen kann. Deshalb ist sie bewusst einfach aufgebaut.
|
||||
|
||||
## Aufbau
|
||||
|
||||
- **Server:** Node.js mit Express, die Seiten rendert Nunjucks auf dem Server.
|
||||
- **Inhalte:** Jedes Projekt ist ein Ordner mit einer YAML-Datei für die Metadaten und einer Markdown-Datei pro Sprache. Neue Einträge kommen per `git pull` auf den Server und werden ohne Neustart übernommen.
|
||||
- **Bilder:** sharp rechnet sie beim ersten Aufruf in passende Größen um und legt sie in einem Cache ab.
|
||||
- **Betrieb:** Ein Docker-Container in Dockge, davor Nginx Proxy Manager für HTTPS. Der Container läuft mit schreibgeschütztem Dateisystem und ohne zusätzliche Rechte.
|
||||
|
||||
## Worauf ich geachtet habe
|
||||
|
||||
Die Seite setzt keine Cookies und lädt nichts von fremden Servern, auch die Schriftarten liegen lokal. Ohne JavaScript funktioniert alles weiterhin, die Animationen sind nur eine Ergänzung und halten sich an die Systemeinstellung für reduzierte Bewegung.
|
||||
|
||||
Der Hintergrund auf der Startseite ist ein kleiner WebGL-Shader, der die Streifen der Genderfluid-Flagge ineinanderfließen lässt.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: This website
|
||||
summary: My own site built with Node.js and Express, content as Markdown files, shipped as a Docker container.
|
||||
---
|
||||
|
||||
I wanted a site I fully understand and can maintain without a CMS, so it's deliberately simple.
|
||||
|
||||
## How it's built
|
||||
|
||||
- **Server:** Node.js with Express, pages are rendered on the server with Nunjucks.
|
||||
- **Content:** Every project is a folder with a YAML file for metadata and one Markdown file per language. New entries reach the server with `git pull` and are picked up without a restart.
|
||||
- **Images:** sharp resizes them on first request and keeps the results in a cache.
|
||||
- **Hosting:** A Docker container managed in Dockge, with Nginx Proxy Manager in front for HTTPS. The container runs with a read-only filesystem and no extra privileges.
|
||||
|
||||
## What I paid attention to
|
||||
|
||||
The site sets no cookies and doesn't load anything from third-party servers, fonts included. Everything still works without JavaScript, the animations are an extra and respect the system setting for reduced motion.
|
||||
|
||||
The background on the homepage is a small WebGL shader that lets the stripes of the genderfluid flag flow into each other.
|
||||
@@ -0,0 +1,27 @@
|
||||
date: 2026-10
|
||||
tags: [web, docker]
|
||||
featured: true
|
||||
cover: cover.jpg
|
||||
gallery:
|
||||
- src: mobile.jpg
|
||||
alt:
|
||||
de: Startseite auf dem Smartphone
|
||||
en: Homepage on a phone
|
||||
caption:
|
||||
de: Startseite auf dem Smartphone
|
||||
en: Homepage on a phone
|
||||
- src: bento.jpg
|
||||
caption:
|
||||
de: Übersicht auf der Startseite
|
||||
en: Overview on the homepage
|
||||
- src: portfolio.jpg
|
||||
caption:
|
||||
de: Portfolio mit Filter nach Themen
|
||||
en: Portfolio with topic filter
|
||||
links:
|
||||
- label:
|
||||
de: Quelltext
|
||||
en: Source code
|
||||
url: https://git.harlelux.de/Harlekin/Personal-Website
|
||||
- label: lux.harlelux.de
|
||||
url: https://lux.harlelux.de
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
Reference in new issue
Block a user