Author: Stefan Spaeth
Description: Kurzbeschreibung für createPhotoWebPages.pl

# createPhotoWebPages.pl - Kurzbeschreibung

## Inhalt

- Was ist createPhotoWebPages.pl?
- Was kann createPhotoWebPages.pl besonders gut?
- Was benötigt createPhotoWebPages.pl sonst noch?
- Was kann createPhotoWebPages.pl im Detail?
- Kurzanleitung
  - Grundsätzliches
  - Schritt 1 : Bilder suchen und ordnen
  - Schritt 2 : Erste Einstellungen vornehmen
  - Schritt 3 : Erzeugen der HTML-Seiten als Entwurf
  - Schritt 4 : Umbenennen, Kommentieren und Drehen der Bilder
  - Schritt 5 : Änderungen einbringen
- Weitergehende Möglichkeiten
- Optionen im Detail
- Konfigurationseinträge im Detail
- Beispiele
- Installation

## Was ist createPhotoWebPages.pl?

createPhotoWebPages.pl ist ein perl script das zu vorhandenen Bilddateien (vorzugsweise im JPEG Format, aber auch PNG und GIF Format sind erlaubt) eine HTML-Bildervorschau erzeugt.

Es wird eine sogenannte Thumbnail-Ansicht (mit kleinen Bildern zum Anklicken) erzeugt, und natürlich auch die HTML-Seiten mit größerem Bilddformat die den Monitor besser ausnutzen. Die HTML Dateien sind untereinander mit Web-Links verbunden um die Navigation und die Suche nach einem bestimmten Bild zu erleichtern. Für größere Bildersammlungen besteht die Möglichkeit mehrere Thumbnail-Seiten nochmals in einer gemeinsamen übergeordneten Thumbnail-Seite thematisch zusammenzufassen.

Das perl script basiert auf einer Konfigurationsdatei die alle benötigten Informationen enthält und mit deren Hilfe die HTML-Seiten jederzeit neu generiert werden können. Weitreichende Konfigurationsmöglichkeiten erlauben es die einzelnen Seiten individuell mit freiem Text und Zusatzinformationen zu versehen.

zurück nach oben

## Was kann createPhotoWebPages.pl besonders gut?

Es gibt eigentlich nichts was andere Programme so oder so nicht auch schon hatten ;-)

Das perl script versucht aber den Benutzer bei allen Schritten zu unterstützen und nachträgliche manuelle Änderungen im HTML Code überflüssig werden zu lassen. Angefangen vom Erfassen der Bilder, über eventuell notwendiges (verlustfreies) Drehen der Bilder, das Umbenennen der Bilddateien, oder auch das Hinzufügen von Text und weiteren Informationen ist alles enthalten. Alle wichtigen Parameter sind über eine einzige Konfigurationsdatei steuerbar. Änderungen in dieser Datei kann man jederzeit problemlos in neu erzeugte Bild- oder HTML-Dateien zurückfließen lassen.

zurück nach oben

## Was benötigt createPhotoWebPages.pl sonst noch?

Nicht alles ist selbstgemacht. Das perl script läuft nur unter Linux und setzt eine Reihe von zusätzlichen Hilfsprogrammen voraus. Die wichtigsten sind in den üblichen Linux-Distributionen (z.B. SuSE oder Debian) schon enthalten, einige wenige sind über das Internet zu beschaffen.

Was braucht man im Einzelnen:

- JPEG Group utilities
  Die Hilfprogramme der Independent JPEG Group's software:
  z.B. URL:ftp://ftp.uu.net/graphics/jpeg
  . (Benutzte Hilfsprogramme: "djpeg" und "jpegtran")
- NetPBM utilities
  Das NetPBM package:
  z.B. URL:ftp://ftp.x.org/R5contrib/.
  (benutzte Hilfsprogramme: "anytopnm", "giftopnm", "pngtopnm", "pnmflip", "pnmmargin", "pnmrotate", "pnmscale", "ppmmake", "ppmtopgm", "pnmcomp", "pnmconvol", "pnmpaste")
- jpegtran mit crop extension
  Alternativ zur meistens verfügbaren Basis-Version kann man auch eine verbesserte Variante von jpegtran benutzen:
  z.B. URL:http://www.ben.com/jpeg.
- jhead (Version 1.5 wurde zum Testen benutzt)
  Dieses Hilfsprogramm dient dazu um während des Drehens, die JPEG Kamera-Information zu erhalten, aber auch um die JPEG Kamera-Information zur weiteren Verarbeitung auszulesen.
  z.B. URL:http://www.sentex.net/~mwandel/jhead.
- ppmcaption
  Dieses kleine Programm (leicht gepatched ;-) wird benutzt um optional in der Ganzseitendarstellung rechts unten noch einen Text einzuprägen (wenn dies gewünscht wird).
  z.B. URL:http://www.jwz.org/ppmcaption/.
  Der folgende Patch ist nötig um die bdf fonts verarbeiten zu können:

      	  --- font-bdf.c.orig	Wed May 23 22:17:44 2001

      	  +++ font-bdf.c	Sun Jan 27 02:57:02 2002

      	  @@ -252,6 +252,12 @@

      	                  !strncmp (buf, "CHARS ", 5) ||

      	                  !strncmp (buf, "SWIDTH ", 7) ||

      	                  !strncmp (buf, "DWIDTH ", 7) ||

      	  +               !strncmp (buf, "RESOLUTION ", 11) ||

      	  +               !strncmp (buf, "UNDERLINE_POSITION ", 19) ||

      	  +               !strncmp (buf, "UNDERLINE_THICKNESS ", 20) ||

      	  +               !strncmp (buf, "_XMBDFED_INFO ", 14) ||

      	  +               !strncmp (buf, "WEIGHT ", 7) ||

      	  +               !strncmp (buf, "QUAD_WIDTH ", 11) ||

      	                  !strncmp (buf, "ENDFONT", 7))

  Eine ausführbare Linuxdatei der patch-Version ist bereits im Paket enthalten.
- Font: gamow-10-m-r-sc.bdf
  Dieser Font wird beim Aufruf von ppmcaption benutzt.
  z.B. URL:http://dreamer.nitro.dk/linux/lfp/lfpfonts-src-0.80.tar.gz.

Die JPEG Utilities und auch das NetPBM package sind wohl in den meisten Linux-Distributionen verfügbar. Unter Umständen ist die verbesserte Variante von jpegtran interessant - aber nicht Voraussetzung.

Die anderen Programme und Fonts können über die beigefügten Web-Links beschafft werden (sind aber zusätzlich auch im Paket enthalten)

Die ausführbaren Programme müssen im Suchpfad sein. Der Font wird als Voreinstellung im Verzeichnis "~/.createPhotoWebPages/" erwartet. (siehe auch Installation).

zurück nach oben

## Was kann createPhotoWebPages.pl im Detail?

Die wichtigsten Funktionen des perl scripts werden an dieser Stelle nur kurz angesprochen. Eine detaillierte Funktionsbeschreibung folgt auf den weiteren Seiten.

- Unterstützung für JPEG, GIF und PNG Format.
- HTML-Seiten können mit Blick auf den Transfer ins Web oder aber für den Verbleib auf der Festplatte erstellt werden.
- Alle Bild- und HTML-Parameter werden in einer Konfigurationsdatei abgelegt.
- Rekursives Suchen nach Bilddateien in den angegebenen Verzeichnissen und Dateien.
- Sortieren der eingelesenen Dateien nach Dateiname oder Datum der Aufnahme (JPEG).
- Automatisches Erzeugen der Konfigurationsdatei nach der Bildersuche.
- Auf Wunsch automatisches Voranstellen eines alphabetischen Prefixes zur leichteren Sortierung.
- Umbenennen von Bildern anhand von in der Konfigurationsdatei geänderten Namen.
- Automatisches Drehen von Bildern nach den Angaben in der Konfigurationsdatei.
- Das Drehen des Originalbildes erfolgt verlustfrei und unter Erhaltung der JPEG Kamera Information (EXIF Header). Auf Wunsch kann auch nachträglich bei Bedarf gedreht werden (unter Anlage einer gedrehten Kopie der Bilddatei.)
- Für jedes Originalbild werden verkleinerte Bilder für die Web-Ansicht, die Thumbnail-Ansicht, und für die Vorschau im Blättern-Modus erzeugt.
- Die Größe und Qualität der erzeugten Bilddateien kann konfiguriert werden.
- Die erzeugten Bilder werden auf Wunsch mit Schatten versehen und leicht gedreht
- Die erzeugten Dateien können jederzeit mit Hilfe der Originalbild-Dateien und der Konfigurationsdatei neu erzeigt werden.
- Die JPEG Kamera-Information für jedes Bild wird auf Wunsch in einer INFO-Seite zugänglich gemacht.
- Auf Wunsch kann auf dem Web-Ansichtsbild rechts unten ein beliebiger Text eingeblendet werden.
- Viele Einzelparameter zur Bild- und HTML-Seiten-Erzeugung lassen sich per Konfigurationsdatei einstellen.
- Jedes Bild läßt sich mit Untertiteln und beschreibendem Text versehen, ebenso wie die Übersichtsseiten.
- Um alle Vorgänge im Detail verfolgen zu können werden bei Bedarf ausführliche Meldungen ausgegeben und zusätzlich in einer LOG-Datei gesammelt.

zurück nach oben

## Kurzanleitung

So. Jetzt folgt eine kleine Einführung in die Benutzung des Programms. Die Optionen sind leider so zahlreich daß hier nicht auf alle Details eingegangen werden kann. Es soll aber versucht werden die wichtigsten Schritte kurz zu skizzieren.

### Grundsätzliches

Das script unterscheidet zwischen zwei grundsätzlichen Betriebsarten. Dem "Web-Ready"-Modus, und dem Dateisystem-Modus.

Ersterer kommt immer dann zum Einsatz wenn die erzeugten Dateien später irgendwann einmal bewegt werden müssen. Zum Beispiel weil die HTML-Seiten samt Bildern auf einen Internet-Server kopiert oder auf CD gebrannt werden sollen. Dieser Modus setzt ausschließlich relative Links im HTML-Code und erzeugt alle Dateien (Bilder und HTML-Code) in einem vorbestimmten Verzeichnis.

Letzterer, der Dateisystem-Modus, dient dazu die Archivierung der Originalbilddateien zu unterstützen. Zur leichteren Handhabe kann man sich direkt neben den Bilddateien zugeordnete HTML-Seiten zur einfacheren Pflege und zur Unterstützung von Textsuche (die ja in Bildern fehlschlägt) erzeugen lassen. Die erzeugten Bilder werden grundsätzlich direkt neben den Originalbildern abgelegt. Dies ermöglicht es Auswahl-Serien zu erstellen die auf die gleichen Bilder zugreifen, ohne die erzeugten Bilder doppelt halten zumüssen. In diesem Modus dürfen auch absolute Pfadnamen auftauchen - eine Empfehlung stellt dies aber nicht dar. Die empfohlene Arbeitsweise ist es das script immer dort aufzurufen wo alle Bilder mit relativem Pfad eingesehen werden können.

Der Modus wird über einen Schalter in der Konfigurationsdatei bestimmt. Als Voreinstellung ist der Dateisystem-Modus ausgewählt.

### Schritt 1 : Bilder suchen und ordnen

In diesem Schritt werden die Bilddateien zusammengesucht, geordnet, vorab schon mal wenn notwendig und gewünscht zur leichteren Handhabung umbenannt, und die bekannten Informationen zur weiteren Verarbeitung in eine Konfigurationsdatei geschrieben.

Der Aufruf erfolgt mit der "-scan" Option:

          createPhotoWebPages.pl -scan [-order name|date]    \

                                       [-rename] [-ext]      \

                                                 [-prefix]   \

                                 Konfigurationsdatei         \

                                 Suchkriterien ...

Anmerkung: die eckigen Klammern stehen für optionale Angaben. Man kann sie sowohl ganz weglassen als auch benutzen (aber dann ohne eckige Klammern ;-).

Die Konfigurationsdatei muss nicht existieren, kann es aber, und wird in jedem Fall neu geschrieben. Als Dateiendung wird ".txt" empfohlen, da der Inhalt lesbarer Klartext ist. Nicht akzeptiert werden Dateiendungen die denen von Bilddateien ähneln - um Verwechslungen zu vermeiden.

Als Suchkriterium kann alles genommen werden was als Datei- oder Verzeichnisname unter Unix möglich ist. Also zum Beispiel:

          images/*.jpg

          *.JPG

          ./Meine-Bilder/Wilhelma-am-12.April.2001/

          Mein-Bild.gif

Die angegebenen Verzeichnisse werden rekursiv nach Dateien durchsucht. Alle Dateien die gefunden werden, werden auf ihre Dateiendung hin untersucht. Nur wer den ".jpg", ".jpeg", ".gif" oder ".png" Test besteht geht als Bild durch (Groß- und Kleinschreibung bleibt unberücksichtigt).

Die zusätzlichen Sortier- und Umbenennungs-Optionen empfehlen sich wenn man Bilder ganz frisch von der Digitalkamera einlesen will.

Die Sortieroption "-order" gibt vor in welcher Reihenfolge die Bilddateien in der Konfigurationsdatei auftauchen sollen. "name" steht für alphabetisches Sortieren nach Datei- und Pfadnamen. "date" steht für Sortieren nach Aufnahmedatum. Hierzu ist es allerdings notwendig daß die Bilder im JPEG Format vorliegen und die entsprechenden EXIF Informationen verfügbar sind ("Date/Time" Eintrag).
Bei den meisten Kameras sind übrigens die Dateien, falls dem Namen nach sortiert, bereits ebenfalls dem Aufnahmedatum entsprechend sortiert.
Wird die "-order" Option weggelassen, werden die Dateien in der Reihenfolge des Einlesens aufgelistet.

Nach dem Sortieren empfiehlt es sich eine erste Umbenennung durchzuführen. Hierzu dient die Option "-rename". Mit dieser Option wird zunächst der Dateiname des Bildes zerlegt und dann nach bestimmten Regeln wieder neu zusammengefügt. In unserem Fall werden die Dateinamen direkt nach dem Einlesen der Dateien jedoch noch nicht wesentlich verändert.

Zwei der erweiterten Regeln können jedoch als Zusatzoptionen aktiviert werden.
Die Option "-ext" weist das script an alle groß geschriebenen Dateiendungen in kleingeschriebene umzuwandeln.
Die Option "-prefix" sorgt dafür, daß jedem Dateinamen ein Zweibuchstabenkürzel vorangestellt wird (mit "_" getrennt). Die Buchstabenkürzel werden aufsteigend sortiert, also "aa_", "ab_", "ac_", ..., "az_", "ba_", ...
Dies hat den Vorteil, daß auch bei einem späteren Umbenennen der Dateien die Sortierreihenfolge erhalten bleibt (wenn man den Buchstabenkürzel beibehält, was das script bereits automatisch erledigt ;-).

Neuere Versionen von createPhotoWebPages (ab v2.3.09) sind in der Lage auch mit Bildern gleichen Dateinamens (in unterschiedlichen Verzeichnissen) zurechtzukommen. Wo immer notwendig wird ein Nummernindex angehängt um abgeleitete und neu erzeugte Dateien wieder unterscheidbar zu machen.

Fertig. Schritt eins ist damit erledigt. Wir haben uns eine Beispiel-Konfigurationsdatei erzeugt in der alle unsere Bilder aufgelistet sind. Nebenbei sind in der Beispiel-Konfigurationsdatei auch noch alle möglichen Zusatzeinstellungen aufgelistet. In einem zweiten Schritt sollte man die deshalb erst einmal den eigenen Bedürfnissen anpassen.

Man beachte dass bis zu diesem Zeitpunkt noch keine Bild-Dateien oder HTML-Dateien erzeugt worden sind. Das heben wir uns für Schritt drei auf.

TIP: der erfahrene Benutzer legt vor dem Einlesen bereits die gewünschten Optionen in der Beispiel-Konfigurationsdatei ab. Diese werden dann vorab eingelesen und sind dann nach dem Aufruf des scripts in der endgültigen Konfigurationsdatei mit enthalten. Ohne eingelesene Datei werden die vorhandenen Voreinstellungen benutzt.

### Schritt 2 : Erste Einstellungen vornehmen

Bevor nun zum ersten Mal HTML-Seiten und Bilder erzeugt werden sollte man erst einmal einen Blick in die Konfigurationsdatei werfen. Zumindest der Grundmodus (also "Web-Ready" oder "Dateisystem") sollte in jedem Fall jetzt richtig eingestellt werden.

Zuerst jedoch ein paar Anmerkungen zur Konfigurationsdatei. Die Datei besteht aus Kommentaren und einzeiligen Einträgen (leere Zeilen sind natürlich auch erlaubt ;-).
Alle Kommentare haben als erstes Zeichen der Zeile ein "#" (wenn man von erlaubten Leerzeichen und Tabulatoren am Anfang der Zeile absieht).
Alle Einträge wiederum folgen einem festen Muster und sehen folgendermaßen aus:

`SCHLÜSSELWORT = Wert`

Das Schlüsselwort, aus Großbuchstaben, Ziffern, und Unterstrichen bestehend, beschreibt um was es geht, und der Wert gibt den Inhalt an (und endet in jedem Fall am Ende der Zeile). Vor dem Schlüsselwort, vor und nach dem "="-Zeichen, und nach dem Wert können beliebig viele Leerzeichen oder Tabulatoren stehen - sie werden in jedem Fall ignoriert.

Im folgenden sind einige Beispiele zu sehen:

`AUTHOR=Stefan Spaeth
COPYRIGHT = Copyright © 2002 Stefan Spaeth
WEB_READY= 1
TARGET_DIR=./test/
HTML_BG_COLOR =#ffffdd
HTML_TEXT_ALIGN=center
THUMBNAIL_SIZE=128
THUMBNAIL_DIR=thumbnails`

Wie man sieht ist die Länge der Schlüsselworter variabel und auch der Wert kann sehr verschiedene Formen annehmen. Einfache Schalter kennen nur die Werte 0 und 1, manche Werte sind Zahlen oder Wörter, und viele können aus ganzen Sätzen bestehen.

Worauf ist nun zu Beginn zu achten?

Die Konfigurationsdatei-Einträge kann man in zwei Gruppen teilen. Die Einstellungsparameter, und die Bildparameter. Letztere sollten immer am Ende stehen und sind den einzelnen Bildern individuell zugeordnet. Einige der Einstellungsparameter sollte man auf jeden Fall anpassen.

Die Einträge für "TITLE", "EMAIL", "AUTHOR", "COPYRIGHT" sollte man abändern - sonst zeichnet der script-Author als Verantwortlicher ;-).
"WEB_READY" und "TARGET_DIR" sind ebenfalls wichtig. `WEB_READY=1` bedeutet "Web-Ready"-Modus, `WEB_READY=0` bedeutet "Dateisystem"-Modus. "TARGET_DIR" ist nur im "Web-Ready"-Modus wichtig und benennt das Zielverzeichnis für die Bild und HTML-Dateien in diesem Modus.

Die Bildparameter sind in Gruppen eingeteilt. Je eine Gruppe ist einem Bild zugeteilt. Als Trenner für die Gruppen dient ein "IMAGE_PATH" Eintrag. Alle "IMAGE_..."-Einträge vor diesem Eintrag werden dem Bild zugeordnet das mit "IMAGE_PATH" beschrieben wird.

Wenn gewünscht kann man jetzt schon alle Einträge neu ordnen. Will man bestimmte Bilder in Gruppen zusammenfassen so gibt ordnet man die zugehörigen Bilder hintereinander an und versieht die Gruppe mit einem Untertitel ("SUBTITLE"-Eintrag). In den HTML-Seiten werden dann diese Bilder in eigenen Thumbnail-Gruppen zusammengefasst.

Wer zudem alle Gruppen in einer gemeinsamen Thumbnail-Seite zusammenfassen möchte, setzt auf jeden Fall noch `HTML_CREATE_TOP=1`.

So, das genügt für den Anfang. Wer nicht allzuviel ändern möchte beschränkt sich vielleicht zunächst auf den "WEB_READY"-Eintrag. Alle Einträge werden zudem im Referenzteil ausführlich erläutert.

### Schritt 3 : Erzeugen der HTML-Seiten als Entwurf

Nun kann man zum ersten Mal mit Hilfe der Konfigurationsdatei Bilder und HTML-Dateien erzeugen. Noch stimmen zwar die Kommentare und Texte noch nicht - aber man kann in der HTML-Darstellung viel besser entscheiden was noch alles zu tun ist.

Will man einfach nur die HTML-Seiten und zugehörigen Bilder erzeugen so sind beim Audruf keine weiteren Optionen nötig. Zu beachten ist allerdings, daß die Erzeugung der Thumbnails und sonstigen Bilder einiges an Zeit in Anspruch nehmen kann (ein alter Pentium I ist da schon deutlich überfordert, Die Megahertz-Zahl sollte 350 MHz oder mehr betragen). Wenn es trotzdem sehr langsam vorangeht, nicht verzagen. Das perl script bemüht sich nach Kräften bereits vorhandene Bilder einzubinden und wird nur in Ausnahmefällen Bilder neu generieren.

Zum Starten des Programms einfach folgendes eingeben:

          createPhotoWebPages.pl Konfigurationsdatei

Es wird der Name der Konfigurationsdatei mit angeben und los geht es. Fehlermeldungen werden auf den Bildschirm geschrieben und zusätzliche Informationen in einer Log-Datei abgelegt (Dateiname: Konfigurationsdatei.log).

Wer es gleich etwas gesprächiger mag kann auch die Option "-verbose" benutzen. Dann werden alle Meldungen und Informationen über die jeweiligen Arbeitschritte im Terminalfenster mitprotokolliert.

          createPhotoWebPages.pl -verbose Konfigurationsdatei

Zu beachten ist, daß das script von sich aus keine Dateien überschreibt die einem bestimmten Bild zugeordnet sind. Im Gegenteil wird versucht unnötige Arbeitsschritte nach Möglichkeit zu vermeiden. Wer den Schreibvorgang genauer steuern möchte kann die Optionen "-html" oder "-images" verwenden um nur HTML-Seiten oder nur die Bilder neu zu erzeugen. Mit der Option "-force" läßt sich zudem ein Überschreiben erzwingen.
Die Thumbnail-HTML-Seiten werden allerdings in jedem Fall neu erzeugt (es sei den es wird mit "-images" explizit nicht gewünscht HTML-Seiten zu schreiben).

Nach den Aufruf - und einer eventuell längeren Wartezeit - stehen nun die HTML-Seiten zur näheren Begutachtung bereit.
Die Startdatei ist entweder `index.html` oder `index_0.html`, je nach dem ob der `HTML_CREATE_TOP=1` gesetzt ist oder nicht. Die Datei findet sich entweder im Verzeichnis in dem das script aufgerufen wurde (`WEB_READY=0`), oder in dem mit dem "TARGET_DIR" Eintrag angegebenen Verzeichnis (`WEB_READY=1`).

Sowohl der Name wie auch die Dateiendung der Indexdatei lassen sich über die Konfigurationsdatei abändern.

### Schritt 4 : Umbenennen, Kommentieren und Drehen der Bilder

Nach dem Erzeugen der Bilder und HTML-Dateien kann man sich die Seiten im HTML-Browser ansehen und dann gleich in der Konfigurationsdatei alle Änderungswünsche ablegen.

In diesem Schritt schaut man sich in aller Ruhe alle Bilder an und kann folgende Modifikationen durchführen.

- Das Original-Bild bei Bedarf in 90-Grad-Schritten drehen
- Den Dateinamen der originalbilddatei ändern - die Dateiendung und der Prefix bleiben immer unverändert
- Zusätzliche Bildunterschriften und Kommentare eingeben

Hierzu ist es nur nötig die Konfigurationsdatei abzuändern und das script erneut mit der "-rename" Option aufzurufen.

Wünscht man sich zum Beispiel ein bestimmtes Bild um 90 Grad gegen den Uhrzeigersinn gedreht, so muß man nur den zugehörigen "IMAGE_ROT" Eintrag auf 90 setzen.
`IMAGE_ROT = 90`
Nach dem Rename-Lauf wird der Wert automatisch auf 0 zurückgesetzt da das Bild ja dann korrekt gedreht ist. Bilder im JPEG-Format werden übrigens verlustfrei gedreht - und sogar die EXIF Kamera Information bleibt erhalten (mit Informationen wie Belichtungszeit, Datum der Aufnahme, etc.).

Das Umbenennen der Bilddatei (und auch aller davon abgeleiteten HTML- oder Bilddateien) erfolgt durch Änderung des "IMAGE_NAME" Eintrages. Zu Beginn wird dieser Eintrag aus dem Original-Dateinamen ermittelt. Wird er abgeändert und dann ein Rename-Lauf durchgeführt, so wird der neue Name aus diesem Eintrag nach festen Regeln erzeugt.

Der "IMAGE_NAME"-Eintrag sollte immer möglichst kurz gewählt werden da er ja unter Umständen einmal zum Dateinamen werden kann. Jeder Rename-Lauf sucht nach geänderten "IMAGE_NAME"-Einträgen und benennt Dateien um.

Neben dem "IMAGE_NAME" Eintrag können natürlich auch die Bildunterschrift ergänzt oder Zusatztext angegeben werden. Hierzu kann man die "IMAGE_CAPT" und "IMAGE_TEXT" Einträge abändern. Es ist bei allen Einträgen möglich HTML-Elemente mit einzubetten. Beim "IMAGE_NAME" Eintrag sollte man sich aber auf einfache HTML-Entities beschränken.

Um nun alle Änderungen wirksam werden zu lassen muss nur das script erneut mit der "-rename" Option aufgerufen werden.

          createPhotoWebPages.pl -verbose -rename Konfigurationsdatei

Das script wird nun neben den Namensänderungen an der Originalbilddatei auch alle bereits existierenden generierten Dateinamen automatisch mit ändern.

Man kann die Prozedur im Übrigen beliebig of wiederholen und sich so Stück für Stück durcharbeiten.

Der Eintrag "IMAGE_DEL" erlaubt es alle zu einem bestimmten Bild gehörenden Dateien und Referenzen zu entfernen. Die Originalbild-Datei bleibt selbstverständlich erhalten und wird nicht gelöscht (obwohl durch das Umbenennen jetzt eventuell ein neuer Dateiname existiert).
Um ein Bild (zu dem bereits Dateien erzeugt wurden) aus der Konfigurationsdatei zu entfernen wird einfach der Eintrag "IMAGE_DEL = 1" hinzugefügt. Das perl script wird dann zugehörige Dateien automatisch löschen und die entsprechenden Einträge aus der Konfigurationsdatei entfernen. Sind noch keine Dateien erzeugt worden, so kann der Eintrag auch einfach direkt aus der Konfigurationsdatei entfernt werden.

### Schritt 5 : Änderungen einbringen

Weitere Änderungen lassen sich natürlich jederzeit einbringen. Dazu wird einfach das script neu aufgerufen. Auf die "-scan" und "-rename" Optionen kann man dann aber meist verzichten.
In der Grundeinstellung werden bei existierenden Dateien nur die Index-HTML Dateien neu erzeugt. Ein gezielter Einsatz der "-html" und/oder "-images" Option lassen bei Bedarf alle Dateien neu entstehen. Alternativ kann man aber auch die erzeugten Dateien von Hand löschen und das script dann neu starten.

TIP: sollte es vorkommen, daß einzelne HTML-Referenzen oder Web-Links nicht mehr ganz korrekt sind so hilft meist ein Aufruf mit "-force -html" um die HTML-Seiten wieder konsistent zu bekommen.

zurück nach oben

## Installation

Die Installation ist sehr einfach. Es gibt nur ein einziges script file, und für einige Zusatzfunktionen die oben erwähnten Hilfsprogramme. Beide müssen im Suchpfad sichtbar - und natürlich ausführbar - sein.

Im script existiert noch die globale variable
`$installDir`,
deren Wert auf
"`~/.createPhotoWebPages`"
voreingestellt ist. Dieses Verzeichnis sollte man anlegen - und dort den Beispielfont
`gamow-10-m-r-sc.bdf`
hinkopieren (genaugenommen ist das nur notwendig wenn die Enträge IMG_IMPRINT_DEFAULT oder IMAGE_IMPRINT verwendet werden sollen).
In zukünftigen Versionen sollen dort noch allgemeine Konfigurationsparameter sowie die Lokalisierung abgelegt werden. Wer unbedingt ein anderes Verzeichnis benutzen möchte, kann den Variablenwert natürlich im script verändern.

Bei mir sieht die Installation wie folgt aus:

Es gibt ein Verzeichnis
"`~/perl`",
in dem ausführbare perl scripts stehen. Weiterhin ein Verzeichnis
"`~/bin`",
in dem ausführbare Programme stehen.
"createPhotoWebPages.pl" wird nach "~/perl" kopiert und "jhead", sowie "ppmcaption" nach "~/bin". Die JPEG und PBM utilities sind bei mir unter "SuSE 7.3" bereits vorinstalliert und verfügbar.

Zusätzlich ist in der Datei
"`~/.bashrc`"
noch die Pfadangabe
`export PATH=/home/myuser/bin:/home/myuser/perl:$PATH`
eingefügt. Das ist bereits alles was nötig ist um die Programme nutzen zu können.

Hinweise für Linux-Anfänger:

- Wie bekomme ich heraus ob ein Programm schon existiert und ausführbar ist ?
  Einfach
  "`which <Programm-Name>`"
  eingeben. Wenn ein Programmpfad als Antwort gegeben wird, ist es verfügbar.
  Beispiel:

              sspaeth@isis:~> which jpegtran
              /usr/bin/jpegtran
              sspaeth@isis:~> which anytopnm
              /usr/bin/anytopnm

  Im Beispiel darf man annehmen, daß die JPEG und PBM Hilfsprogramme verfügbar sind.
- Wie mache ich ein Programm ausführbar ?
  Einfach
  "`chmod u+x <Programm-Name>`"
  eingeben. Wenn das Programm schon ausführbar war, tut das dann auch nicht mehr weh ;-)

zurück nach oben