Hugo-Toolbox | App
Was ist das?
Hugo-Toolbox ist mein persönliches Swiss-Army-Knife für den Hugo Website Builder: github
Wer seine Hugo-Webseite mit Visual-Studio Code verwaltet, könnte das hilfreich finden. Es enthält bis jetzt 4 Tools die im Terminal ausgeführt werden, und die auch separat verwendet werden können:
- hugo-clean-cache bereinigt den Hugo Cache auf intelligente Weise: github
- hugo-update-lastmod verfolgt die Änderungsdaten von Bildern und legt
lastmodin Markdown/Frontmatter fest: github - hugo-broken-links-checker überprüft die Website auf defekte Links: github
- sftp-push-sync lädt deine Hugo-Website über SFTP und eine echte Push-Synchronisierung hoch: github
Detaillierte Anleitungen und den download findest du in den jeweiligen Git-Repos.
hugo-clean-cache
hugo-clean-cache ist ein CLI-Tool zum sicheren Bereinigen von Hugo-Caches und Ressourcen. Das Tool…
- erkennt automatisch den Cache-Pfad
- berücksichtigt die Konfiguration von Hugo
- funktioniert unter macOS, Linux und Windows (WSL/Git Bash/Node)
Der Hugo-Cache hat drei typische Nebenwirkungen:
Insbesondere generierte Bilder (Miniaturansichten, Größenänderungen, Ausschnitte) bleiben häufig im Cache erhalten. Beim Ersetzen von Bildern kommt es oft vor, dass …
- Hugo veraltete Bilder anzeigt
- Die alten Versionen werden weiterhin verwendet.
- Selbst nach
hugo --cleanDestinationDirwerden falsche Dateien angezeigt. - Resultat: Eine Bildergalerie zeigt „Geisterbilder“ an.
resources/_genwird riesig und unübersichtlich- Hugo speichert alle generierten Assets hier:
resources/_gen/images/resources/_gen/assets/- Das kann zu Tausenden von Dateien führen, die Hunderte von MB beanspruchen.
- Hugo speichert alle generierten Assets hier:
- Das Debuggen wird schwierig
- Wenn man CSS, SCSS, Bilder, Optimierungen oder Größen ändern, reagiert Hugo manchmal nicht sofort, da es zwischenspeichert.
Ein wirklich sauberer Cache-Reset schafft klare Bedingungen. Das Skript löscht alles, was Hugo beim nächsten Build neu generieren wird.
Was wird gelöscht?
resources/_gen: Von Hugo generierte Assets (CSS, JS, Bilder)public/*: Alles, was Hugo bei jedem Build neu generiertBild-Cache: wird über hugo.toml oder defaults gefunden:cacheDir- [caches.images]
- macOS-Standard
~/Library/Caches/hugo_cache - Fallback
$TMPDIR/hugo_cache
Was wird NICHT gelöscht?
Das Skript löscht keine produktiven Inhalte,
- keine Markdown-Dateien
- keine Designs
- keine Inhalte
Es entfernt nur Dateien, die Hugo reproduzieren kann.
hugo-update-lastmod
Überprüft, ob sich Bilder in den Galerien unter content/galleries geändert haben.
Aktualisiert die lastmod-Eigenschaft im Frontmatter der jeweiligen index.md.
Im Detail:
Scannt die Bilddateien für jede Galerie unter galleries/gallery-1 (Bundle-Verzeichnis).
Kein Git erforderlich – alles basiert auf dem Dateisystem (Hash, Größe).
- Für jedes Bundle:
- Bildbestand mit letzter Ausführung vergleichen (Cache)
- Änderungen zählen: + hinzugefügt, ~ geändert, − gelöscht
lastmod-Eigenschaft inindex.mdFrontmatter einfügen oder aktualisieren.- Ausgabe:
- Pro Bundle: Status + Bildunterschiede
- Global: Gesamtzahl der Bundles und Bildänderungen
- Schreibt eine
.hugo-update-lastmod.cache.json-Datei in Ihren Projektstammordner
hugo-broken-links-checker
Prüft meine Hugo Webseite nach defekten links. In Verbindung mit ein paar Shortcodes zeigt es eine Statistik dazu an und eine Seite mit der man die Links einfach findet und korrigieren kann.
sftp-push-sync
Führt eine Push-Synchronisierung durch:
- Neue Dateien hochladen
- Remote-Dateien löschen, die lokal nicht mehr vorhanden sind
- Änderungen anhand der Größe oder des geänderten Inhalts identifizieren und hochladen
Funktionen:
- Mehrere Verbindungen in
sync.config.json dry-runmode- spiegelt local → remote
- Dateien hinzufügen, aktualisieren, löschen
- Text-Diff-Erkennung
- Binärdateien (Bilder, Videos, Audiodateien, PDFs usw.): SHA-256-Hash-Vergleich
- Hashes werden in
.sync-cache.*.jsonzwischengespeichert - Parallele Uploads/Löschungen über Worker-Pool
- include/exclude Patterns
- Sidecar-Uploads/-Downloads - Umgehen des Synchronisierungsprozesses