# GeneWeb - Anpassung von Seiten

Dieser Teil erklärt, wie die Startseiten anzupassen und verwandte Seiten hinzuzufügen sind. Er wurde geschrieben für Leute, die GeneWeb bereits verwendet haben und ins Detail gehen wollen.

- Startseite
- Makros
- Verbundene Seiten
- Alle Seiten anpassen

### Startseite

Die Startseite wird aus Textdateien zusammengebaut, den "start.txt"-Dateien, die mit GeneWeb geliefert werden. Es ist möglich, diese Dateien zu modifizieren und/oder eine spezifische Version für eine spezielle Datenbank zu erstellen.

Diese Dateien enthalten HTML gemischt mit "Makros" (siehe folgender Abschnitt). Wenn du solche Dateien anlegen oder ändern möchtest, verwende keinen HTML-Editor, sondern einen normalen Texteditor.

Für die Startseite der Datenbank "bla" sucht GeneWeb nach den folgenden Dateien in dieser Reihenfolge:

- bdir/lang/lg/bla.txt
- hdir/lang/lg/bla.txt
- bdir/lang/bla.txt
- hdir/lang/bla.txt
- bdir/lang/lg/start.txt
- hdir/lang/lg/start.txt
- bdir/lang/start.txt
- hdir/lang/start.txt

wobei:

- "bdir" = Wert von "-bd" des Befehls "gwd" (Default: aktuelles Verzeichnis).
- "hdir" = Wert von "-hd" des Befehls "gwd" (Default: aktuelles Verzeichnis).
- "lg" = aktuelle Sprache.

Die Dateien "hdir/lang/lg/start.txt" werden mit der Distribution geliefert. Der einfachste Weg, um eine angepaßte Datei zu erstellen, ist eine Kopie der Datei "start.txt" zu machen, welche du ändern kannst wie du willst. Wenn die Darstellung der Datei "start.txt" nicht genügt, kann diese auch direkt geändert werden.

Trotzdem eine Warnung: Von einer Version von GeneWeb zur nächsten kann es sein, daß die "start.txt"-Dateien verbessert worden sind. Wenn du die neue Version nimmst und die Verbesserungen nutzen willst, schau in die "start.txt"-Dateien um zu sehen, wo diese verändert worden sind und ergänze die Änderungen in deinen angepaßten Dateien.

### Makros

Wie oben erwähnt, sind die Dateien der Startseiten kein pures HTML. Sie enthalten "Makros". Das sind Sequenzen beginnend mit dem Zeichen "%", gefolgt von einem Buchstaben. Beispiele: "%s", "%x", etc.

Diese Makros werden ersetzt durch Werte, die vom Kontext abhängen: Name der Datenbank, Sprache, Zahl der Personen in der Datenbank etc.

Außerdem gibt es eine spezielle Verarbeitung für die Klammern "[" und "]": der Text dazwischen wird aus dem Lexikon (Datei "lexicon.txt") in die aktuelle Sprache umgesetzt mit folgenden Änderungen:

- Wenn nach der öffnenden Klammer ein Stern steht, wird der erste Buchstabe der Übersetzung groß geschrieben.
- Wenn die schließende Klammer von einer Zahl gefolgt wird, korrespondiert diese mit dem N-ten Auftreten der Übersetzung (beginnend mit 0), getrennt durch Schrägstriche. Wenn die N-te Übersetzung nicht existiert, wird die erste verwendet.

Um zu verstehen, wie die Makros verwendet werden, schaut man am besten in die mitgelieferten "start.txt"-Dateien.

Hier die Bedeutung der "%"-Makros:

- Datenbank.

- "`%t`": Name der Datenbank.
- "`%f`": im Servermodus, Name der Datenbank gefolgt von einem möglichen Kennwort (Bsp.: "bla_xyzzy"); im CGI Modus Name des CGI-Aufrufs (Bsp.: "gwd.exe").
- "`%g`": im Servermodus wie "%f"; im CGI-Modus Name des CGI-Kommandos gefolgt von "?b=", dem Namen der Datenbank und einem Semikolon (Bsp.: "gwd.exe?b=bla;").
- "`%s`": Wert von "%f" gefolgt von einem Fragezeichen und Kontextvariablen (s. u.) gefolgt von einem Semikolon. Bsp.: "bla?lang=it;iz=8233;".

- Zahlen.

- "`%c`": Zahl der Zugriffe auf die Startseite.
- "`%q`": Zahl der Anfragen.
- "`%d`": Datum der ersten Abfrage.

- Bedingungen.

- "`%w... %w`": anzeigen falls "Wizard".
- "`%x... %x`": anzeigen wenn "Wizard" oder "Freund".
- "`%y... %y`": anzeigen wenn "Server"-Modus (nicht CGI) und kein "Wizard".
- "`%z... %z`": anzeigen wenn "Server"-Modus (nicht CGI) und weder "Wizard" noch "Freund".
- "`%i... %i`": anzeigen wenn CGI-Modus.

- Andere.

- "`%r`" gefolgt von einem Namen und einer neuen Zeile: Einschluß der Datei "name.txt".
- "`%b`": Wert der Variablen "body_prop" der Datei "bla.gwf" für die Datenbank "bla".
- "`%h`": Kontextvariablen (s. u.) in der Form "<input type=hidden name=var value=val>".
- "`%l`": Sprache.
- "`%n`": Anzahl von Personen in der Datenbank.
- "`%%`": einzelnes "%".
- "`%[`": "[".
- "`%]`": "]".

Einige Makros beziehen sich auf Kontextvariablen. Das sind:

- b: im CGI-Modus, Datenbankname.
- lang: Sprache.
- iz: Nummer der Person, die als Sosa-Referenz verwendet wird, falls vorhanden.

Die Bedingungen können nicht überlappen: Man kann kein "`%w... %w`" innerhalb eines "`%i... %i`" verwenden.

### Verbundene Seiten

In die angepaßten Startseiten kannst du Links zu verbundenen Dateien einfügen, die von GeneWeb auf die gleiche Art und Weise behandelt werden: Die Makros werden umgewandelt.

Wenn du zum Beispiel eine spezielle Seite der berühmten Personen deiner Datenbank erstellen willst, erzeuge eine Datei namens "famous.txt" im Verzeichnis "bdir/lang/lg" oder im Verzeichnis "bdir/lang" (siehe erster Abschnitt).

Die Zugriffsanfrage nach "famous.txt" lautet: "m=H;v=famous". In der Startseite trägst du also ein:

       <a href="%sm=H;v=famous">Beruehmte</a> Personen meiner
       Datenbank.

In die Datei "famous.txt" kannst Du Links zu Personen deiner Datenbank einfügen unabhängig von deren Namen und Kontext unter Verwendung der entsprechenden Makros.

Die im einzelnen interessierenden Makros sind:

- "`%b`" kannst du in den "<body>"-tag einfügen als "<body%b>".
- "`%s`" kannst du in Links verwenden.

Beispielsatz in der Datei "famous.txt":

       Siehe meinen Cousin <a href="%sp=louis;n=de+bourbon;oc=5">
       Louis XIV</a> und meine
       <a href="%sem=R;ep=john;en=smith;m=NG;n=louis+xiv;t=PN">
       Verwandtschaftsbeziehungen</a> zu ihm.

Siehe auch: Wie man korrekte Links zu GeneWeb Seiten machen kann.

Beachte, daß die "erweiterte Anfrage" wie eine verbundene Datei namens "advanced.txt" wirkt.

### Alle Seiten anpassen

Alle Seiten, die Startseite eingeschlossen, können an drei Stellen angepasst werden:

- Du kannst eine Datei namens base.hed (wobei "base" der Name deiner Datenbank ist) erstellen, welche in allen Seiten als Kopf eingefügt wird (zwischen <head> und </head>). Damit können z. B. style sheets eingebunden werden. Speichere die Datei im Verzeichnis "lang" und/oder für einzelne Sprachen "xy" im Verzeichnis "lang/xy".
- Auf die gleiche Art kannst du eine Datei namens base.trl anlegen, welche nach dem GeneWeb copyright auf jeder Seite erscheint.
- Schließlich kannst du noch die Variable `body_prop` in der Datei base.gwf setzen, welche in das tag "<body>" aller Seiten eingesetzt wird. Das ist nützlich, um Hintergrundfarbe oder -image anzugeben oder die Farben der angezeigten Texte zu ändern. Siehe diesen Abschnitt des Kapitels "Erste Schritte mit GeneWeb".

Zurück zur Gebrauchsanweisung.

Copyright (c) 1998-2006 INRIA - GeneWeb