7.7 KiB
Redaktioneller Inhalt des Pendel-Projekt. Beinhaltet die Content-Dateien (Ausgangs- und End-Dateien) sowie die Skripte zum Erstellen und Hochladen nach Uberspace.
Mit dem Hochladen werden auf Uberspace nur die fertigen Content-Dateien im Uppload-Verzeichnis von Wordpress kopiert.
Das Repository benötigt alles, was der Redakteur benötigt (bis auf die Secrets natürlich).
Setup
Installation auf Uberspace
Beschreibt das einmalige Setup des Projekts.
Wordpress wird wie im uberlab beschrieben installiert, allerdings nicht direkt nach /home/kollegen/html, sondern in das Unterverzeichnis pendel.
$ cd /home/kollegen/html
$ mkdir pendel
$ cd pendel
$ USER=kollegen
$ wp core download
$ wp config create --dbname=${USER}_wordpress --dbuser=${USER} --dbpass=to-secret-db-password
$ wp db create
$ wp core install --url=kollegen.uber.space --title="Pendel" --admin_user=kollegen --admin_email=kollegen@uber.space
Admin password: top-secret-admin-password
$ wp option update siteurl $(wp option get siteurl)/pendel
Wichtig sind die URLs in den Einstellungen / Allgemein bzw. in der Datenbanktabelle wp_options.
| Feld | Name | Wert |
|---|---|---|
| siteurl | Website-Adresse (URL) | http://kollegen.uber.space/pendel |
| home | WordPress-Adresse (URL) | http://kollegen.uber.space/pendel |
Das Worpress-Plugin s. https://github.com/chs8691/pendel
S. auch deliciousbrains.com/move-wordpress-root-subdirectory
Lokales Setup
Auf einem Linux-Rechner muss installiert sein:
- exiftool
- sshpass
- rsync
- git
- Digikam
- Browser chromium
Digikam
Es ist das Wurzelverzeichnis ~/Pictures/digikam anzulegen in Digikam als Album einzurichten. Darin ist folgende Albenstruktur anzulegen:
🗁 Alben
🗁 Import # Import- und Arbeitsverzeichnis
🗁 Digikam
🗁 pendel # Ausgang für Pendel
Digikam muss eingerichtet werden, damit geänderte Metadaten als XMP-Metadaten geschrieben werden und somit vom exiftool ausgelesen werden können. Unter Einstellungen > Digikam einrichten > Metadaten > Verhalten > Informationen als Metadaten schreiben:
- Beschriftung und Titel: ☑
- Geolokalisierungsinformationen (GPS): ☑
Pendel-Repository
Ist auszuchecken nach ~/kollegen.
$ cd ~/kollegen
$ git clone https://kollegen.uber.space/gitea/website/pendel.git
In das Verzeichnis noch die Datei credentials aus dem Keepass hinzufügen.
Die Verzeichnisstruktur sieht dann wie folgt aus:
🗁 ~/kollegen/pendel
🗁 in # Eingangsdaten
🗁 out # Ausgangsdaten
credentials # Secrets
<bash-skripte> # *.sh
readme.md # Diese Datei
Workflow
Die Arbeitsschritte vom gespeicherten Foto bis zum Update der Website:
flowchart TB
subgraph digikam[Digikam]
prepare[Bild bearbeiten\n und Tile erstellen]
end
subgraph scripts[Skripting]
direction LR
subgraph pendel["/pendel"]
direction TB
in[Eingangsdateien\n hinzufügen]
out[Upload-Dateien\n generieren]
end
subgraph uberspace[Uberspace]
direction TB
upload[Hochladen]
update[Website generieren]
end
end
prepare --> in
in --> out
pendel --> uberspace
upload --> update
Redaktionelles Arbeiten
Um einen weiteren Eintrag dem Projekt hinzuzufügen, werden folgende Dateien benötigt:
- Original - Jpeg-Datei mit Meta-Daten
- gpsposition: Längen- und Breitengrad
- title im Format
Pendel <Römische Zahl> - description Nicht zu lang, einzeilig
- Endung: muss jpg lauten (klein geschrieben)
- Tiles - Jpeg-Datei mit einem rechteckigem Bild-Ausschnitt
- Dateiname: tile_<Original-Dateiname>
- Keine GPS-Daten nötig
- Größe: 500 x 500 px
- Ausschnittbreite: ca. 3% vom Original
| Breite | Ausschnitt |
|---|---|
| 3.264 | 100 |
| 6.240 | 188 |
Da die GPS-Position bereits im JPEG ist, wird die TCX-Datei nicht mehr benötigt.
Es wird nun exemplarisch beschrieben, wie ein neuer Pendel-Eintrag 100 erzeugt wird.
Soweit nicht anders angegeben, können die Skripte aus jedem beliebigen Verzeichnis heraus aufgerufen werden.
Digikam
Im Album digikam/Pendel das Unteralbum 100 hinzufügen.
Das importierte Bild bearbeiten und mit Titel und Beschreibung versehen. Ggf. Geo-Daten hinzufügen.
Tiles-Bild daraus erstellen.
Das fertige Bild und die erstellte Tile-Datei dort ablegen. Das fertige Album sieht dann wie folgt aus:
🗁 Alben
🗁 Digikam
🗁 pendel
🗁 100
🖻 20230901-182900-X-S10.jpg
🖻 tile_20230901-182900-X-S10.jpg
In-Verzeichnis
Beinhaltet für jede Fahrt ein Unterverzeichnis mit den Eingangsdateien.
HINWEIS
Nur mit dieser Verzeichnisstruktur wird definiert, welches Bild in welcher Pendel-Fahrt ist.
Per Skript import.sh wird ein neues Verzeichnis 100 mit den kopierten Bildern angelegt.
$ ~/kollegen/pendel/import.sh 100
Importing pendel 100...
Create /home/chris/kollegen/pendel/in/100
Imported into /home/chris/kollegen/pendel/in/100:
20230901-182900-X-S10.jpg tile_20230901-182900-X-S10.jpg
Out erstellen
Flaches Verzeichnis mit optimierten Bildern, Tiles sowie der Datei gps.csv mit den Metadaten aller Fahrten.
Per Skript create-out.sh wird dieses um den neuen Eintrag ergänzt:
$ ~/kollegen/pendel/create-out.sh 100
Add 100 to /home/chris/kollegen/pendel/out
Copy, convert and chmod 20230901-182900-X-S10.jpg...
Copy and chmod tile_20230901-182900-X-S10.jpg...
Create and chmod gps.csv...
Done.
Upload nach Uberspace
Skript deploy.sh aufrufen.
$ ~/kollegen/pendel/deploy.sh
sending incremental file list
./
20230901-182900-X-S10.jpg
gps.csv
tile_20230901-182900-X-S10.jpg
sent 214.906 bytes received 166 bytes 86.028,80 bytes/sec
total size is 30.949.478 speedup is 143,90
Die so hochgeladenen Daten werden aber noch nicht verwendet.
Leinwand neu erzeugen
Per Skript leinwandRefresh.sh wird die Leinwand nun neu genierert.
$ ~/kollegen/pendel/leinwandRefresh.sh
Wenn es denn klappen würde. Bis das behoben ist, muss das Plugin de- und wieder aktiviert werden.
Hintergrundinfos
GPS in Datei extrahieren
Wenn alle jpg in direkten Unterverzeichnissen liegen und mit einer Zahl anfangen, kann so eine Datei mit GPS-Location erstellt werden:
$ cd ~/kollegen/pendel
$ find in/ -regex in/[0-9][0-9][0-9]/[0-9].*\.jpg | xargs exiftool -filename -gpsposition -n -s -t -S -q -f > out/gps.csv
Track-Dateien
Die ersten Pendel-Fahrten wurden aus der Track-Datei mit den GPS-Daten getaggt. Mittlerweile sind die GPS-Daten bereits in der Bild-Datei vorhanden, so dass die Track-Datei nicht mehr nötig ist.
EXIF und Zeitdifferenz
Relevant ist createdatetime und _gpsdatetime. In den GPX-Tracks habe ich keine Zeitzone gefunden (gpx, tcx von Polar als auch der Tracker-App)
Korrektur der Exif-Zeit
Bsp. GPX um eine Stunde vor. Ermitteln:
exiftool -createdate img.jpg --> ...2017:08:23 07:43:21
head -c 200 001.gpx --> ...
Korrektur der Exifzeit um eine Stunden nach vorne: exiftool -datetimeoriginal+=1 -createdate+=1 20170823-074258-DSCF5765.jpg
Zeitzone
exiftool verwendet beim geotaggen die Timezone des Rechners für die Bild-Zeit, wenn keine Zeitzone im exif gesetzt ist. Um die Verwendung der Rechner-Zeitzone zu unterbinden, muss man createdate explizit ohne Zeitzone für GPS-Tagging verwenden.
Beispiel:
$ exiftool -geotag Christian_Schulzendorff_2017-08-23_06-54-06.gpx '-geotime<${createdate}+00:00' 20170823-074258-DSCF5765.jpg
Als Kopiervorlage
exiftool -geotag '-geotime<${createdate}+00:00'