Fotoverwaltung und Galerien – Teil 2: Statische Fotogalerien

Keine Kommentare

Herzlich Willkommen zum zweiten Teil der Blogserie “Fotoverwaltung und Galerien”! Nachdem ich im ersten Teil meinen Weg hin zur Verwaltung meiner Fotos in einer NextCloud geschildert habe, möchte ich in diesem Teil darüber schreiben, wieso ich mich von den Fotogalerien großer Softwarehersteller abgewandt habe und zu einer Individuallösung gekommen bin.

Einfach muss nicht schön heißen

Wo man früher noch mit einer Tasse Kaffee bei Kuchen und Plätzchen im dunklen Wohnzimmer zusammen die Dias des letzten Urlaubs auf die Leinwand geworfen hat, sitzt man heute vor dem Fernseher oder PC. Um dies nicht zwingend zu einem zentralen Ereignis zu stilisieren, ist es dank des Internets einfach möglich, die Fotoalben als Link an Freunde und Verwandte zu schicken, um die Urlaubsimpressionen zu teilen. Tools wie Apple iPhoto, Google Picasa oder Adobe Photoshop bieten dem Anwender die Option zur Veröffentlichung von Fotoalben im Internet. Dies ist jedoch meist gepaart mit der Voraussetzung, dass die generierte Fotogalerie in eine entsprechende Cloud des Anbieters hochgeladen wird und von dort abgerufen werden kann. Wie bereits im ersten Teil geschrieben ist mir bei dem Gedanken grundsätzlich nicht wohl, da ich gerne wissen möchte wo genau meine Fotos liegen und wer darauf womöglich Zugriff hat. Der Gedanke “was habe ich schon zu verbergen” ist an dieser Stelle, und das nicht nur im Bezug auf private Bilder, in meinen Augen fehl am Platze.

Neben dem Unwohlsein bezüglich des Speicherorts meiner Fotos waren die Gestaltungsmöglichkeiten der Fotoalben in allen Fällen mehr schlecht als recht. Natürlich ließen sich ein paar Parameter wie Farben, Schriften oder das Layout anpassen, jedoch fehlte mir bei allen Anbietern das letzte Stück Individualität und die Gestaltungsfreiheit. Es liegt auf der Hand, dass es sich hier um Standardsoftware handelt und daher die Vorlagen nur in begrenztem Maße anpassbar sind. Doch da ich als Entwickler mit dem Schwerpunkt Webentwicklung wusste, welche Möglichkeiten existieren, war mir dies nicht ausreichend. Daher fing ich an, eigene Galerien zu implementieren und diese auf meine Bedürfnisse anzupassen und so zu gestalten, wie ich es wollte.

Fotogalerien: Selbstgemacht bringt doppelt Spaß

In Teil 1 erwähnte ich bereits, dass es sich für mich unnatürlich anfühlt, wenn ich Schritte immer wiederholen muss. Daher war für mich sofort klar, dass ich eine Lösung anstrebe, welche mir aus einem Set an Fotos automatisiert eine statische Webseite erzeugt, über die man sich die Bilder anschauen kann. Statt jedoch bei Null zu starten, habe ich mir im Netz aus diversen Vorlagen die Elemente herausgenommen, welche ich schön fand und die meinen Vorstellungen am nächsten kamen. Im zweiten Schritt habe ich die verschiedenen Elemente dann manuell zusammengesetzt und an meine Vorstellungen weiter angepasst.

Nun blieb der finale Schritt der Automatisierung offen: Ich suchte daher nach einer Template-Engine, welche auf Basis einer Vorlage und meiner Bilder eine statische Fotogalerie erzeugen kann. Nach diversen Gehversuchen mit eigenen Implementierungen, die auf Handlebars- und Node.js-Scripten fußten, habe ich diverse kostenlos verfügbare Seitengeneratoren ausprobiert (dies waren u.a. Hexo, Middleman, Nuxt, Sphinx, und weitere). Letztlich hängen geblieben bin ich bei Jekyll, welches mich nicht zuletzt durch seine einfache Verwendung und Konfigurierbarkeit überzeugt hat.

Nachdem ich mich für Jekyll entschieden hatte, musste die zuvor erstellte Vorlage nun noch in das von Jekyll geforderte Templateformat gebracht und sinnvoll zerlegt werden. Dies war dank der Dokumentation und diversen Blogbeiträgen jedoch schnell gemacht und ich konnte damit beginnen, Fotos aus meinen Alben herauszusuchen, welche ich auf meiner Webseite präsentieren wollte. Waren die Fotos ausgewählt und ein Album erstellt, musste ich nur noch über die Jekyll-CLI den Seitengenerator anstoßen und konnte das Ergebnis auf meinen Server hochladen.

Jekyll Template für Fotogalerien

Jekyll Template für Fotogalerien

Der zu diesem Zeitpunkt notwendige Arbeitsablauf sah also vor, dass ich zunächst aus den Fotoalben, die in meiner NextCloud lagen, jene Fotos raussuchte, welche ich veröffentlichen wollte. Diese wurden dann in das Jekyll-Projekt kopiert und mit ImageMagick für den Einsatz im Web präpariert, heißt, sie wurden auf maximal 1024 Pixel Seitenlänge verkleinert, Exif-Daten herausgenommen und für das Web optimiert gespeichert. Anschließend musste händisch eine Albumbeschreibung erstellt werden, die alle Bilder auflistet, welche letztlich in der generierten Ausgabe landen sollten. War dies getan konnte der Generierungsprozess gestartet werden und man war fertig.

Fazit zu Fotogalerien

Fürs Erste war dieser Ansatz hervorragend, da ich nur noch wenig Arbeit mit meinen Galerien hatte. Das Ergebnis war mehr als zufriedenstellend und ich hatte nun die einfache Möglichkeit geschaffen, meine Bilder zu teilen ohne auf mir unbekannte Anbieter und deren Infrastruktur zurückgreifen zu müssen.

Was mir bereits beim Erstellen der ersten Galerien auffiel war, dass sich die Schritte, Bilder zu kopieren und präparieren, sicherlich auch noch automatisieren lassen und auch ein Deployment auf meinen Server kein Hexenwerk darstellen würde. Also fing ich an, über eine Lösung nachzudenken, wie ich aus meiner NextCloud heraus die entsprechenden Bilder markieren konnte, die in meinen öffentlichen Galerien landen sollen.

Der Weg zur vollautomatisierten Lösung sowie die technische Verknüpfung meines Jekyll-Prozesses mit meiner NextCloud wird im letzten und abschließenden Teil dieser Blogserie behandelt.

Stephan Köninger

Stephan arbeitet als Software-Entwickler mit dem Schwerpunkt Web-Frontend-Entwicklung für die codecentric. Themen wie Java, Spring und Hibernate sind ihm nicht fremd, was ihn zu einem Full-Stack-Entwickler macht. Zudem ist das Thema Automatisierung sowie Testing ebenfalls wichtiger Bestandteil seines täglichen Arbeitens.

Über 1.000 Abonnenten sind up to date!

Die neuesten Tipps, Tricks, Tools und Technologien. Jede Woche direkt in deine Inbox.

Kostenfrei anmelden und immer auf dem neuesten Stand bleiben!
(Keine Sorge, du kannst dich jederzeit abmelden.)

Hiermit willige ich in die Erhebung und Verarbeitung der vorstehenden Daten für das Empfangen des monatlichen Newsletters der codecentric AG per E-Mail ein. Ihre Einwilligung können Sie per E-Mail an datenschutz@codecentric.de, in der Informations-E-Mail selbst per Link oder an die im Impressum genannten Kontaktdaten jederzeit widerrufen. Von der Datenschutzerklärung der codecentric AG habe ich Kenntnis genommen und bestätige dies mit Absendung des Formulars.

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.