Spaß an Technik

Software, Netzwerk, Sicherheit

Das ist meine private Website, um Neues auszuprobieren. Die Hauptthemen sind Linux, Hardware und Software und die Konfiguration meines Heimnetzwerks.

Responsive Bilder mit dem Render-Image-Template

AVIF, WebP und srcset aus einer einzigen Quelldatei

Moderne Browser können AVIF und WebP darstellen und wählen aus einem srcset die Auflösung, die zum aktuellen Viewport passt. Eine statische Seite kann diese Varianten nicht zur Laufzeit erzeugen – sie müssen beim Build vorliegen. Genau das übernimmt Hugo: Das Theme dieser Website rendert jedes Markdown-Bild über ein eigenes Template, das aus einer einzigen Quelldatei ein komplettes <picture>-Element mit mehreren Formaten und Auflösungen generiert.

Mehr lesen...

http-wasm-guest: Rust-Guest für Traefik-Wasm-Plugins

Rust-Guest-Bibliothek für Traefik-Wasm-Middlewares

celguard läuft als WebAssembly-Plugin in Traefik. Die eigentliche Regelauswertung ist dabei nur die obere Schicht – darunter liegt http-wasm-guest, eine schlanke Rust-Bibliothek, die das WebAssembly-Guest-ABI für http-wasm abbildet und damit erst möglich macht, ein Traefik-Middleware komplett in Rust zu schreiben.

Mehr lesen...

Chroma Dark Mode ohne JavaScript

Dark Mode für Code-Blöcke, der komplett ohne JavaScript läuft

Seit Hugo 0.165 erzeugt die Funktion css.ChromaStyles mit dem Attribut mode vollständige Chroma-Stylesheets für einzelne Farbmodi. In Kombination mit dem media-Attribut der <link>-Tags lässt sich damit ein Dark-/Light-Wechsel implementieren, den der Browser allein anhand des Betriebssystem-Themas vornimmt – ohne zusätzliches JavaScript.

Mehr lesen...