Logo: Strunz Seitenlogo: Strunz-Design
Auswahl
 Begrüßung
\/Programmieren
 Galerie
 Sonstiges

Coding
 Übersicht
\/Albengenerator
 Demoeffekte
 ICPC
 Links

Albengenerator
 Beschreibung
 Beispiele
 Makephotos
->Makealbum
 Changelogs
 

Bedienungsanleitung makealbum.pl V0.13

Aufgabe des Programms

Aufbau einer vollständigen Projektdefinition

<ALBUMKONFIGURATION>
vorschaubilder=5
auslassen=1
seitenname=fotoalbum/vollbild-seite#.html
</ALBUMKONFIGURATION>

<GERUESTFILES>
geruest-vollquer.html=480x320
geruest-vollhoch.html=320x480
</GERUESTFILES>

<ERSETZUNGEN>
#background#=fotoalbum/elemente/fotohintergrund.jpg
#SEITENTITEL#=Fotoalbum - VOLLBILD - Seite #$seite# / #$seiten#
</ERSETZUNGEN>

Beschreibung der Einträge

Abschnitt "ALBUMKONFIGURATION" - Konfiguration des Albums

Tag "seitenname"

seitenname=[Muster]
Beispiele:
seitenname=seite#.html
erzeugt z.B.
seite5.html
seite42.html

Hiermit wird dem Programm gesagt, wie die zu erzeugenden Seiten des Albums heissen sollen. Eine Hashmark "#" gilt als Platzhalter für die aktuelle Seitenzahl.

Tag "vorschaubilder"

vorschaubilder=[Zahl]
(optional, default=1) Beispiele:
vorschaubilder=5
... falls fünf Vorschaubilder in der Leiste sind
vorschaubilder=10
... falls zehn Vorschaubilder verwendet werden

Tag "auslassen"

auslassen=[Zahl]
(optional, default=1) Beispiele:
auslassen=1
Jede Seite wird erzeugt
auslassen=10
Nur jede 10. Seite wird erzeugt, also die Seiten 1,11,21,31,...

Abschnitt "GERUESTFILES" - Seitendesigns einbinden

Hier wird dem Progframm gesagt, aus welchen Dateien es die einzelnen Seiten des Albums generieren soll. Dabei gibt es zwei Möglichkeiten. Entweder man hat nur ein einzelnes Gerüst für alle Seiten, oder eine Auswahl aus mehreren Gerüsten, die je nach Bildproportion (Hochformat, Querformat) eingebunden wird. Syntax:

[Dateiname]=[Proportion]
Beispiele:
geruest.html=*

Falls nur ein einzelnes Gerüst verwendet wird, braucht keine Proportion angegeben zu werden. Dann reicht ein Sternchen "*".

[Dateiname]=*

Sobald aber mehrere Gerüste verwendet werden, müssen Kriterien zur Auswahl festgelegt werden. Da es nur Sinn macht, anhand der Bildproportion zu unterscheiden, kann man diese hier nun festlegen. Proportionen werden dabei wie bei makephotos.pl definiert. Syntax:
[Dateiname]=[X-Größe]x[Y-Größe]
Beispiel:
geruest_hochformat.html=300x400
geruest_querformat.html=400x300

Abschnitt "ERSETZUNGEN" - Globale Ersetzungen definieren

Hier können alle eigenen Ersetzungen festgelegt werden. Das ist sinnvoll, um manche Parameter zentral verwalten zu können. Syntax:
[Zu ersetzender String]=[neuer String]
Beispiele:
#SEITENTITEL#=Testalbum Seite #$seite#
#BGCOLOR#=#ffffff
#PFAD#=/homepage/
Es ist nicht nötig, selbstdefinierte Platzhalter in Hashmarks "#" einzugrenzen. Es hat aber die Vorteile, daß man die Einträge später im Gerüst sofort als Platzhalter erkennt, und daß die Zeichenkette nicht unbeabsichtigt später nochmals auftaucht.
Ein schlechtes Beispiel wäre sicherlich
datum=01.01.2002
weil dann jedes Vorkommen von "datum" ersetzt werden würde. Der Satz "Mein Geburtsdatum ist der ...." würde dann auch verstümmelt werden!

Beispiel eines Seitengerüstes

Bei dem folgenden Beispiel handelt es sich um ein sehr einfaches Seitengerüst in HTML. Es zeigt das jeweils aktuelle Foto in festgelegter Größe im Browserfenster an, und bietet noch Links zum Vor- bzw. Rückwärtsblättern an.

Bei den Seitengerüsten handelt es sich um Mustereinträge des späteres Fotoalbums. Daher ist die Sprache der Wahl hier HTML. Natürlich sind auch Fotoalben in TeX möglich, da PerlMagick auch in das Format .EPS konvertieren kann. Das habe ich aber noch nicht getestet.

Da es sich aber nur um eine allgemeines Schablone handelt, dürfen noch keine endgütigen Werte für Bildgrößen, Dateinamen und Links verwendet werden. Dafür wurden Platzhalter definiert, die dann später vom Programm automatisch durch die jeweils aktuellen Werte ersetzt werden (Hier fett markiert).

<HTML>
<HEAD>
<TITLE>#SEITENTITEL#</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE border="5" cellspacing="0" cellpadding="0" background=#background#><TR><TD>
<TABLE border="0" cellspacing="0" cellpadding="0" width="720" height="520">
  <TR>
    <TD width="420" height="420" colspan="3" align="center" valign="center">
    <IMG src="#filename-gross($0)#" width="#width-gross($0)#" height="#height-gross($0)#">
    </TD>
    <TD width="300" height="420" align="center">
    #beschreibung($0)#
    </TD>
  </TR>
  <TR>
    <TD width="100" height="100" align="center">
    <A href="vollbild-seite#$<#.html">Zurück</A>
    </TD>
    <TD width="220" align="center">
    Dies ist Seite #$seite# von #$seiten#
    </TD>
    <TD width="100" align="center">
    <A href="vollbild-seite#$>#.html">Vor</A>
    </TD>
    <TD width="300"> </TD>
  </TR>
</TABLE></TD></TR></TABLE>
</CENTER>
</BODY>
</HTML>

Platzhalter im Seitengerüst

Es gibt verschiedene Arten von Platzhaltern in der Gerüstdatei.
Einmal die Selbstdefinierten, und dann die, die bereits durch das Programm festgelegt werden. Bei den Selbstdefinierten handelt es sich einfach um die Ersetzungen, die im Projektfile im Abschnitt "ERSETZUNGEN" von Nutzer festgelegt wurden.
Beispiele: Author, Pfade, Seitenversion

Alle weiteren Platzhalter werden vom Programm vorgeschrieben, und sind an der Einschachtelung in zwei Hashmarks "#" zu erkennen.
Beispiele: Seitenzahlen, Dateinamen, Bildbeschreibungen, Bildattribute

Platzhalter, die das aktuelle Bild betreffen:

#$seite#
Seitenzahl des aktuellen Bildes, wie
#$0#
#filename($0)#
Dateiname des aktuellen Bildes
#width($0)#
Breite des aktuellen Bildes
#height($0)#
Höhe des aktuellen Bildes
#beschreibung($0)#
Beschreibung des aktuellen Bildes aus Infofile
#datum($0)#
Datum des aktuellen Bildes aus Infofile
#ort($0)#
Ort des aktuellen Bildes aus Infofile
#misc($0)#
Sonstige Angaben des aktuellen Bildes aus Infofile
#alttext($0)#
Text speziell für
alt="..."
-Tag des aktuellen Bildes

Platzhalter, die das n.te Bild der Vorschauleiste betreffen: (n>0)

#$n#
Seitenzahl des Bildes
#filename($n)#
Dateiname des Bildes
#width($n)#
Breite des Bildes
#height($n)#
Höhe des Bildes
#beschreibung($n)#
Beschreibung des Bildes aus Infofile
#datum($n)#
Datum des Bildes aus Infofile
#ort($n)#
Ort des Bildes aus Infofile
#misc($n)#
Sonstige Angaben des Bildes aus Infofile
#alttext($n)#
Text speziell für
alt="..."
Tag aktuellen Bildes

Ergänzung der Bild-Platzhalter, wenn Serien verwendet werden:

Eine Serie besteht aus mehreren ALIAS-Einträgen
Statt wie bisher

#typ($n)#
gilt dann:
#typaliasname($n)#
mit
  • typ
    gleich eins aus
    filename,width,height,beschreibung,datum,ort,misc,alttext
  • aliasname
    gleich dem Aliasnamen aus der Serie, z.B. "-gross_lq"
  • n
    ist die Bildnummer.
    n=0
    ist das aktuelle Bild, der Bereich
    n=1
    bis
    n=Anzahl an Vorschaubildern
    steht für die Bilder einer Vorschauleiste.

Platzhalter zum Blättern:

Das Ergebnis der Ersetzung ist immer eine Seitenzahl.

Beispiel:
<A href="seite#$>#">Nächste Seite<A>
wird zu:
<A href="seite5">Nächste Seite</A> oder <A href="seite42">Nächste Seite</A>

#$<<#
Seitenzahl zum Anspringen der vorherigen Serie
#$<#
Seitenzahl zum Anspringen der vorherigen Seite
#$0#
Aktuelle Seitenzahl
#$-#
Seitenzahl des ersten Bildes der aktuellen Serie, wie
#$1#
#$>#
Seitenzahl der nächsten Seite
#$>>#
Seitenzahl zum Anspringen der nächsten Serie

Platzhalter zum Anspringen spezieller Seiten


Auch hier ist das Ergebnis der Ersetzung immer eine Seitenzahl. Eine Verwendung macht daher nur bei Links und Seitenzahlenanzeigen einen Sinn.
#$0#
Aktuelle Seitenzahl, wie
#$seite#
#$1#
Seitenzahl des ersten Bildes in der Vorschauleiste
#$2#
Seitenzahl des zweiten Bildes in der Vorschauleiste
...
#$n#
Seitenzahl des n.ten von n Bildern in der Vorschauleiste
#$seite#
Aktuelle Seitenzahl, wie #$0#
#$seiten#
Gesamtzahl Seiten, oder Seitenzahl der letzten Seite des Albums

Kommandozeilenparameter zum Aufruf

> makealbum.pl --help
Strunz-Design's HTML-Photoalbum-Maker V0.13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Syntax: makealbum.pl <Optionen> <Projekt[e]>
Optionen:
-h   | --help     : Diese Hilfe anzeigen
-l   | --log      : Bildschirmausgaben in "albumlog.txt" mitloggen
Bildschirmausgabe beeinflussen:
-q   | --quiet    : (0) quiet - Nur kritische Fehler melden
                  : (1) Knappe Ablaufausgaben  (*default*)
-v   | --warn     : (2) Warnungen mit ausgeben (Empfohlen)
-vv  | --debug    : (3) Debug-Informationen mit ausgeben, !Zur Fehlersuche!


Seitenanfang

Inhalt und Design von Florian Evers, florian-evers@gmx.de