You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

4.7 KiB

kollegenrunde-posts

Dieses Repository beinhaltet den Content der Website sowie zum Editieren benötigte Helferlein. Im folgenden wird beschrieben, wie man Posts bearbeitet.

Wie man dagegen die Website entwickelt, wird im Repository (kollegen-hugo)[https://kollegen.uber.space/gitea/kollegenrunde/kollegen-hugo] beschrieben.

Generell werden ein Post editiert, in man lokal Hugo lokal ausführt und die Änderung testet und die Änderung commitet. Mit dem Push ins Kollegen-Gitea wird die Website dann dort neu generiert.

Für kleine und rein textuelle Änderungen können auch direkt im Gitea-Repository durchgeführt werden, ohne lokale Installation.

Lokales Setup

Hier wird nun beschrieben, wie man sich Hugo lokal einrichtet und lokale Post-Bearbeitung testet.

Vorraussetzungen:

  • git-Client ist installiert
  • Python3 ist installiert

Das Setup ist das gleiche, wie bei der Web-Entwicklung. Es wird ein leeres Verzeichnis benötigt, in das die beiden Repositories und das Hugo-Release installiert werden. Hier nochmal in Kürze (am Beispiel Linux):

$ mkdir ~/kred
$ cd ~/kred
$ wget https://github.com/gohugoio/hugo/releases/download/v0.76.4/hugo_0.76.4_Linux-64bit.tar.gz
$ git clone https://kollegen.uber.space/gitea/kollegenrunde/kollegen-hugo.git
$ git clone https://kollegen.uber.space/gitea/kollegenrunde/kollegen-posts.git

Für Python wird nun noch die virtual Environment in einem neuen Unterverzeichnis installiert:

$ python3 -m venv .venv # Virtuelle Umgebung anlegen
$ source .venv/bin/activate # aufrufen
$ pip install -r requirements.txt # Benötigte Paket installieren
$ deactivate # venv verlassen

Hinweis: Die venv wird nicht in git eingeheckt, deshalb muss sie mit jeder Neuinstallation eingerichtet werden.

Damit ist die Installation abgeschlossen. Es werden nun einzelne Schritte der redaktionellen Arbeit erläutert.

Website lokal testen

Hugo kommt mit einem eigenen Webserver, so dass man lokale seine Änderungen testen kann. Um ihn auszuführen, muss man im Verzeichnis kollegen-hugo sein.

$ cd ~/kred/kollegen-hugo
$ ../hugo/hugo server -D
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/kollegenrunde/ (bind address 127.0.0.1)

Hat man alles richtig gemacht, kann man die Website nun im Browser sehen.

Post-Editierung

Das Python-Skript vereinfacht Erstellung und Bearbeitung eines Posts. Im Verzeichnis Redaktion wird damit ein Eingangsverzeichnis für einen Post angelegt, worin Originalbilder hineinkopiert werden können. Das Script verkleinert dann die Bilder (jpg) und kopiert sie in das eigentliche Post-Verzeichnis unter content. Ausserdem sorgt es für den Abgleich der Bilddateinamen mit den Einträgen in der Post-Datei index.md. Einer Post hat immer das Datum als Namen, z.B. 20160216.

Anlegen neuen Posts (auch Bearbeiten eines existierenden Posts)

$ cd ~/kred/kollegen-posts/redaktion
$ .venv/bin/python red.py init 20160216
Existing in path found. Put your original images here: 'in/posts/20160216'
Post' directory created: '../content/posts/20160216'
New post file created: '../content/posts/20160216/index.md'
Image directory created: 'images'
The next step would be to add your images into the 'in/posts/20160216' directory. After that you can update the post directory '../content/posts/20160216' and the post file 'index.md': call 'update'.

Damit werden die Verzeichnis ~/kred/kollegen-posts/redaktion/in/posts/20160216 und ~/kred/kollegen-posts/content/posts/20160216 angelegt (falls nicht vorhanden) und die Datei index.md initialisiert. Der Post ist nun initialisiert.

Nun können eigenen Bilder in Originalgröße abgelegt werden, z. B.:

$ cp meine/bilder/*.jpg ~/kred/kollegen-posts/redaktion/in/posts/20160216/

Mit 'update' werden nun die Bilder konvertiert und im Zielverzeichnis abgelegt und in der Post-Datei index.md werden die Bild-Variablen initialisiert.

$ .venv/bin/python red.py update
Done.

Nun kann der Blogbeitrag in der Datei index.md editiert werden.

Post-Datei index.md bearbeiten

Die so erzeugte bzw. upgedatete Datei besteht aus zwei Bereichen. Zuerst kommen die mit Initialwerten gesetzten Parameter und dann folgt, nach dem '---' der Text. Dieser wird mit in Zusammenfassung und eigentlichem Inhalt getrennt.

Der lokale Server erkennt Änderungen und aktualisiert die Webseite automtatisch.

Bearbeitung abschließen

Ist die Post-Bearbeitung fertig, kann man das Eingangsverzeichnis entfernt werden.

$ .venv/bin/python red.py cleanup
Removed 'in/posts/20160216'
20160216 closed.

Neuen Post veröffentlichen

Das Leben ist ein Baustelle....