GeneWeb - Modifiering av sidor

| # GeneWeb - Modifiering av sidor

Denna sida beskriver hur man modifierar välkomstsidan och göra associerade sidor. Det är skrivet för personer som redan har använt GeneWeb och som vill gå in på detaljer.

- Välkomstsidan
- Makros
- Associerade sidor
- Modifiering av alla sidor

### Välkomstsidan

Välkomstsidan är uppbyggd från en textfil, "start.txt" som ingår i GeneWeb. Det är möjligt att modifiera denna fil och/eller göra en speciell version för en databas.

Denna fil innehåller HTML kod mixat med "makros" (se nästa del). Om du vill skapa eller ändra en sådan fil, använd inte en HTML editor, utan en normal texteditor.

För att skapa välkomstsidan för databasen "foo", kommer GeneWeb att leta efter följande filer, i denna ordning:

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

där:

- "bdir" = värdet av "-bd" till kommandot "gwd" (default: nuvarande katalog).
- "hdir" = värdet av "-hd" till kommandot "gwd" (default: nuvarande katalog).
- "lg" = nuvarande språk.

Filen "hdir/lang/lg/start.txt" ingår. För att skapa den modifierade filen, är det enklast att starta från en kopia av filen "start.txt" som du sedan kan ändra som du vill. Om presentationen av filen "start.txt" inte passar dig kan du också ändra den direkt.

En varning: från en version av GeneWeb till nästa kan filen "start.txt" ha förbättrats. Om du installerar en ny version och vill dra nytta av förbättringarna, titta i filen "start.txt" för att se var den har ändrats och kopiera in dessa ändringar i din modifierade fil.

### Makros

Som sades tidigare, välkomstsidan är inte i ren HTML kod. Den innehåller "makros". Det är sekvenser som börjar med ett tecken "%" följt av en bokstav. Exempel: "%s", "%x", etc.

Dessa makros bytts ut mot värden vilka beror på sammanhanget: namnet på databasen, språket, antal personer i databasen, etc.

Det är också en speciell behandling för hakarna "[" och "]": om texten mellan hakarna är översatt till det nuvarande språket från lexikonet (filen "lexicon.txt") med de följande modifieringarna:

- Om det är en stjärna efter start haken, är den första bokstaven av översättningen om gjord till versal.
- Om den avslutande haken är följt av ett nummer, korresponderar det till den N-2 förekomsten för översättningen (startar med 0), förekomsterna är separerade med "/". Om denna förekomst inte existerar, tas den första.

För att förstå hur makros används, är det bäst att titta på filen "start.txt" som ingår.

Här är betydelsen för makrona "%":

- Databas.

- "`%t`": namnet på databasen.
- "`%f`": i server mod, namnet på databasen, följt av ett möjligt passord (t.ex.: "foo_xyzzy"); i CGI mod, namnet på CGI kommandot (t.ex.: "gwd.exe").
- "`%g`": i server mod, som "%f"; i CGI mode, namnet på CGI kommandot följt av "?b=", namnet på databasen och ett semikolon (t.ex.: "gwd.exe?b=foo;").
- "`%s`": värdet av "%f" följt av ett frågetecken och variabler beroende på sammanhanget (se nedan) följt av ett semikolon. T.ex.: "foo?lang=it;iz=8233;".

- Uppräkning.

- "`%c`": antal åtkomster till välkomstsidan.
- "`%q`": antal förfrågningar.
- "`%d`": datum för den första konsultationen.

- Villkor.
  Villkor startar med "`%I`" följt av ett boolskt uttryck (sant eller falskt) och slutar med "`%E`". Texten mellan dessa två makron visas endast om det boolska uttrycket är sant. Det boolska uttrycket är antingen:
  - "`f`" : vi är "friend"
  - "`w`" : vi är "wizard"
  - "`j`" : vi är "wizard" men bara "friend" (se vidare filen a.gwf, "wizard_just_friend")
  - "`c`" : vi är i CGI mod
  - "`h`" : det finns en historie fil
  - "`l`" : webbläsaren klarar inte tabeller
  - "`n`" : det finns noteringar för databasen
  - "`t`" : det är en sökning efter titlar
  - "`z`" : det är en person vald som proband för navigering enligt Kekules system (se makro "`%u`")
  - "`a`" : det finns en global åtkomst restriktion för databasen
  - "`N`" : negering av det följande uttrycket
  - "`|`" : logiskt "eller" mellan de två följande uttrycken
  - "`&`" : logiskt "och" mellan de två följande uttrycken
  Exempel:
  - visa texten om det är en sökning efter titel: `%It...%E`
  - visa texten om vi varken är "wizard" eller "friend": `%I&NwNf...%E`
- Andra.

- "`%r`" följt av ett namn och en ny rad: tillägg till filen "name.txt".
- "`%b`": värdet på variabeln "body_prop" till filen "foo.gwf" för databasen "foo".
- "`%h`": variabler beroende på sammanhanget (se nedan) på formen "<input type=hidden name=var value=val>".
- "`%l`": språk.
- "`%n`": antal personer i databasen.
- "`%u`": person vald som proband för navigering enligt Kekules system.
- "`%%`": endast ett "%".
- "`%[`": "[".
- "`%]`": "]".

En del makros refererar till variabler beroende på sammanhanget. Dessa är:

- b: i CGI mod, databasens namn.
- lang: språk.
- iz: nummer för personen vald som proband för navigering enligt Kekules system.

Det konditionella kan inte överlappa: man kan inte sätta en "`%w... %w`" inuti en "`%i... %i`".

### Associerade sidor

På din anpassade välkomstsida kan du sätta in länkar till associerade filer som kommer att behandlas av GeneWeb på samma sätt: makrona kommer att bli transformerade.

Till exempel, om du vill skapa en speciell sida för en känd person från din databas, skapa en fil benämnd "famous.txt" i katalogen "bdir/lang/lg" eller i katalogen "bdir/lang" (se första delen).

Förfrågningarna till "famous.txt" är: "m=H;v=famous". På välkomstsidan, skriver du:

       <a href="%sm=H;v=famous">Kända</a> personer i min
       databas.

I "famous.txt", kan du lägga in länkar till personer i din databas, oberoende från deras namn och av sammanhanget, genom att använda makros.

De riktigt intressanta makrona är:

- "`%b`" kan du använda att sätta in en tag "<body>" genom att skriva "<body%b>".
- "`%s`" kan du använda i länkar.

Exempel på mening i "famous.txt":

       Se min kusin <a href="%sp=louis;n=de+bourbon;oc=5">
       Ludvig XIV</a> och min
       <a href="%sem=R;ep=bertil;en=svensson;m=NG;n=louis+xiv;t=PN">
       väg till honom.

Se också hur du gör korrekta länkar till GeneWeb sidor.

Notera att "avancerad sökning" fungerar som en associerad fil benämnd "advanced.txt".

### Alla sidor

Alla sidor, välkomstsidan inkluderad, kan modifieras på tre ställen:

- Du kan lägga till en fil benämnd dbas.hed (om "dbas är namnet på din databas), vilken kommer att sättas in på alla sidornas huvuden (mellan <head> och </head>). Det tillåter dig, till exempel, att göra "style sheets". Filen ska läggas i katalogen "lang" och/eller om du vill ha annorlunda utseende för språket "xy", även i katalogen "lang/xy".
- På samma sätt, kan du lägga till en fil benämnd dbas.trl, som kommer att sättas in på alla sidor efter GeneWeb copyright raden.
- Till sist, kan du sätta variabeln `body_prop` i filen dbas.gwf, den kommer att sättas in i taggen "<body>" på alla sidor. Den är användbar för att sätta en bakgrundsbild eller för att ändra färgerna på texten. Se denna del av kapitlet "Hur man kommer igång med GeneWeb".

Tillbaka till bruksanvisningen

Copyright (c) 1998-2005 INRIA - GeneWeb