30. Dezember 2019, 14:13

Mein erster Blog mit Hugo

Ich hatte bei der Erstellung dieses Blogs den Wunsch, schnell und unkompliziert Inhalte zur Verfügung zu stellen. Aus diesem Grund habe ich mich dazu entschieden, Hugo zu verwenden.

Hugo nimmt die Inhalte in Form von Markdown (cool!) oder HTML (naja) entgegen und erstellt anhand eines beliebigen Designs (sogenannte Themes) fertige HTML-Dateien, welche dann nur noch auf den Webspace geschoben werden. Das war’s auch schon: einfach nur HTML-Seiten mit CSS, wenn man will (so wie ich) sogar ganz ohne JavaScript. Kein Login auf der Seite, kein Online-Editieren, kein Aktualisieren von Plug-Ins, kein, kein, kein.

Nach kurzem Überfliegen des Quick Starts kann es auch schon losgehen. Installation von Hugo (unter Ubuntu) und Erstellen einer neuen Seite:

$ snap install hugo
$ hugo new site blog

Das Kiss Thema hatte es mir angetan (ich habe dort alles Analytics- und JavaScript-Zeugs rausgeschmissen, dazu werde ich diese Seite nochmal updaten):

$ git clone https://github.com/ribice/kiss.git blog/themes/
$ cp blog/themes/kiss/exampleSite/config.toml blog/ # evtl. vorher Backup machen!

Um Hugo die Seiten bauen zu lassen, leeren wir das Verzeichnis public (falls bereits vorhanden), in dem Hugo die erstellten Seiten ablegt:

$ rm -rf blog/public/*
$ hugo

                   | EN  
+------------------+----+
  Pages            | 21  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     | 11  
  Processed images |  0  
  Aliases          |  8  
  Sitemaps         |  1  
  Cleaned          |  0  

Total in 149 ms

Da der Hoster für das (verschlüsselte) Hochladen von Inhalten auf die Webseite lediglich SFTP (SSH File Transfer Protocol) anbietet, verwende ich sshfs, um das Verzeichnis auf dem Webserver lokal einzubinden:

$ mkdir ~/.sftp_pavelpi
# Die Optionen "idmap", "uid" und "gid" setzen die entfernten Dateirechte auf den aktuellen Benutzer (User-Mapping)
$ sshfs -o idmap=user -o uid=$(id -u) -o gid=$(id -g) -p 23 user@www.pavel-pi.de:/path/ ~/.sftp_pavelpi

Um das Verzeichnis später wieder auszuhängen wird folgender Befehl ausgeführt:

$ umount ~/.sftp_pavelpi

Jetzt können wir die von Hugo erzeugten Daten hochladen:

# Zielverzeichnis leeren
$ rm -rf ~/.sftp_pavelpi/blog/*
# Inhalte hochladen
$ cp -R public/* ~/.sftp_pavelpi/blog/

Historie

Datum Änderung
31.03.2020 Beschreibung des Inhalte-Uploads von WebFTP auf sshfs geändert.
07.04.2020 Kleine Korrektur: hugo statt hugo -D, um Beiträge im Entwurfsstadium nicht zu berücksichtigen

© Pavel Pi 2020

Powered by Hugo & Kiss'Em.