construct object construct object
Home sweet home
Nav
hide
S1
S2
S3
Name: albumGenerate
Typ: bash
benötigt: diverse jquery-Geschichten, convert,exiftool,jhead
Tja, kann man das veröffentlichen? Für mich ist es nützlich, also tun wir es. Das Script ist das wahrscheinlich n-te Photo-Album-Generierungsscript.
Aus einem Verzeichnis heraus aufgerufen, generiert es aus allen Ordnern in diesem Verzeichnis und den darin enthaltenen Medien-Dateien ein Album im HTML-Format.
Hier ein kurzes Beispiel einer Anwendung.

2010-04-19: Und einen Fehler gefunden, unter IE lief es nicht, da ich in Javascript die for each Schleife genutzt habe. Diese gibt es ab Javascript 1.6/7, welches IE anscheinend nicht unterstützt. Hoffen wir, dass ich keine anderen Fehler eingebaut habe - ansonsten: Verwenden Sie firefox :-)

Ein Bug / ein Feature fiel noch auf. Die Bestellübersicht (s.u.) bietet nicht die Photo-Album Funktionalität.

Details: Das entstehende Album wird mittels jQuery und lightbox realisiert, es handelt sich um eine reine HTML/JavaScript Geschichte, eine serverseitige Sprache wird nach der Fertigstellung nicht mehr benötigt.
Um die Dateigrößen und damit die Ladezeichen für den Betrachter möglichst gering zu halten, werden alle Bild-Dateien mittels des Befehls convert (aus imagemagick) skaliert. Es existieren also nach dem Durchlauf des Scriptes die Original-Dateien, die Bilddateien welche vom Benutzer betrachtet werden können und die Thumbnails der diversen Übersichtsseiten.

Neben dem Betrachten der Gallerie ist es möglich, mit dem Programm eine Liste von Bildern zusammen zu stellen. Diese wird angzeigt und kann in Textform ausgegeben werden. Ich nutze dies um die Photos heraus zu suchen, von denen ich Abzüge machen möchte.

Einige Worte zur Anleitung.
Annahme: Wir haben die folgende Ordnerstruktur:

       Bilder
          |_ 2010
          |    |_ 01JanuarSchnee
          |    |_ 04Ostern
          |    |_ 07Urlaub
          |
          |_ 2009
          |    |_ ...
          |
          |_ 2008
               |_ ...
    

Das Script ruft man nun aus den Ordnern 2010 ... 2008 heraus auf. Prinzipiell sollte es auch aus dem Ordner Bilder heraus funktionieren, aber da für ein "Toplevel-Verzeichnis" eine index.html erzeugt wird, welche alle Daten aus den Unterverzeichnissen enthät wähle ich jeweils ein Jahr. Dies ist für meine Zwecke die richtige Größe.

In diese Ordner müssen dann noch manuell einige Verzeichnisse kopiert werden:
Verzeichnis css mit der Datei jquery.lightbox-0.5.css

Verzeichnis images mit den Dateien
lightbox-blank.gif , lightbox-btn-next.gif , lightbox-ico-loading.gif , lightbox-btn-close.gif , lightbox-btn-prev.gif und filmrolle.gif

Verzeichis sources mit den Dateien
jquery-1.4.2.min.js , jquery.cookie.js , jquery.lightbox-0.5.min.js , jquery.treeview.min.js

Es handelt sich dabei fast ausschließlich um jquery Sources/CSS und benötigte Bilder. Ein paar css werden erzeugt, ein Bild wird als Thumbnail für eine Filmdatei zusätzlich benötigt.

Die benötigten Verzeichnisse und Dateien liegen dem Download bei.

Das Ergebnis dieses Scriptes wird in den Ordnern abgelegt. Das hat den Vorteil, dass man evtl. durch eine Abwandlung einzelne Bilddateien zum Download anbieten kann. In diesem Fall sollten die originalen Bild-Dateien, nicht die reduzierten Dateien angeboten werden.
Will man dies nicht, so muss man sich die erzeugten Dateien in ein anderes Verzeichnis kopieren. Dies kann man mit ein paar Shell-Befehlen relativ schnell erledigen. Hier das Prinzip:construct object
hide
copyAlbum
mkdir ../../../Album/2010-04-BeispielAlbumGenerate
 cp -a css/ images/ sources/ index.html ../../../Album/2010-04-BeispielAlbumGenerate
 find . -type d -name thumbs -exec cp -a --parents {}  ../../../Album/2010-04-BeispielAlbumGenerate/ \;
 find . -type d -name smaller -exec cp -a --parents {}  ../../../Album/2010-04-BeispielAlbumGenerate/ \;
Parsed using GeSHi 1.0.8.6
Neben dem reinen Betrachten kann man sich mit Hilfe der entstandenen HTML-Seite eine Liste von Fotos erstellen. Auf dieser Liste sind die Original-Dateien aufgeführt, so daß man diese verwenden kann um eine Bestellung zusammen zu stellen.
Konfiguration des Scriptes: Prinzipiell nicht zwingend, ein paar Einstellungen sind am Anfang des Quellcodes möglich.
Das Script habe ich für mich geschrieben, bei mir hat es geklappt, ich gebe keinerlei Gewährleistung. Von Photos sollte man sowieso mindestens ein Backup haben ...

Der Quelltext ist dann doch ein Monstrum geworden ... unten ein Link zum Download

show
albumGenerate.sh
Download / View Source / Run it   (depends on file type)

Karsten Römke (k Ponkt roemke at gmx in de), Rechtliches, Datenschutz, etc.
Rein private Seite, lediglich eine Spielerei
Last modified: 2010-04-19
Created: 2010-04-13
Reason: –
Home sweet home