Macros utilisables dans GeneWeb

From GeneWeb
Jump to navigation Jump to search
150px-Geographylogo svg.png Language:   English • français

Les fichiers de GeneWeb ne sont pas du pur HTML et contiennent des variables historiquement nommées macros. Ce sont des séquences commençant par le caractère % suivis par une lettre, par exemple %s ou %x. Elles sont remplacées automatiquement par des valeurs qui dépendent du contexte : nom de la base, langue, nombre de personnes dans la base, etc.

Les variables encadrées par des crochets ouvrants et fermants [ et ] (et non %) sont traduites par GeneWeb à partir d'un lexique. La page correspondante détaille ce fonctionnement.

Description des variables

Base

  • %t : nom de la base.
  • %f : en mode serveur, nom de la base, suivi de l'éventuel mot de passe (ex: toto_xyzzy); en mode CGI, nom de la commande CGI (ex: gwd.exe).
  • %g : en mode serveur, comme "%f"; en mode CGI, nom de la commande CGI suivi de "?b=", du nom de la base et d'un point-virgule (ex: gwd.exe?b=toto;).
  • %s : valeur de "%f" suivi d'un point d'interrogation et des variables contextuelles (voir ci-dessous) suivies d'un point-virgule. Ex: toto?lang=it;iz=8233;.

Compte

  • %c : nombre d'accès à la page d'accueil.
  • %q : nombre de requêtes.
  • %d : date de la première consultation.

Conditionnels

Les conditionnels commencent par "%I" suivi d'une expression booléenne (vrai ou faux) et se terminent par %E. Le texte entre ces deux macros est affiché si et seulement si l'expression booléenne est vraie. Une expression booléenne est soit:

  • f : on est "ami"
  • w : on est "magicien"
  • j : on est "magicien" juste "ami" (cf fichier a.gwf, "wizard_just_friend")
  • c : on est en mode cgi
  • h : il y a un fichier historique
  • l : le navigateur ne traite pas les tables
  • n : il y a des notes pour la base de données
  • t : il y a une recherche par titres de noblesse
  • z : il y a une personne prise comme référence Sosa (voir macro "%u")
  • a : il y a une restriction globale d'accès à la base de données
  • N : contraire de l'expression qui suit
  • | : "ou" logique entre les deux expressions qui suivent
  • & : "et" logique entre les deux expressions qui suivent
    Exemples:
    afficher le texte s'il y a une recherche par titre : %It...%E
    afficher le texte si on est ni "magicien" ni "ami" : %I&NwNf...%E

Divers

  • %r suivi d'un nom et d'un retour-ligne : inclusion du fichier "nom.txt". Le fichier nom.txt doit se trouver au même endroit
    que le fichier source qui l'invoque (à vérifier!!)
    l'expérience montre par exemple que css.txt doit être :
    • dans gw/etc pour les fichiers associés à l'affichage par gwd (perso.txt, ...)
    • dans bases/src/base si css.txt est invoqué dans un fichier résultant d’un "%sm=SRC;v=fichier".
  • %b : valeur de la variable "body_prop" du fichier "toto.gwf" pour la base "toto".
  • %h : variables contextuelles (voir ci-dessous) sous la forme "<input type=hidden name=var value=val>".
  • %l : langue.
  • %n : nombre de personnes de la base.
  • %u : personne prise comme référence Sosa.
  • %% : un seul "%".
  • %[ : un "[".
  • %] : un "]".

Variables contextuelles

Les variables contextuelles sont celles qui influencent l'ensemble du comportement de gwd (par opposition à celles qui sont associées à une seule requête). Elles apparaissent explicitement dans l'URL d'accès à GeneWeb.

  • lang
  • templ
  • pz, nz, ocz, iz (prénom, nom, occurrence, index d'une référence sosa)
  • liste à compléter à partir du code ...

Les macros fréquemment utilisées

  • %b que vous pourrez mettre dans le tag "<body>" en l'écrivant "<body%b>".
  • %s que vous pourrez mettre dans les liens.

Exemple de phrase dans "celebres.txt":

  Voyez mon cousin <a href="%sp=louis;n=de+bourbon;oc=5">
  Louis XIV</a> et mes
  <a href="%sem=R;ep=jean;en=dupont;m=NG;n=louis+xiv;t=PN">
  liens de parenté</a> avec lui.

Liste des macros

Pour mémoire, voici le résultat de l'exécution de toutes les macros disponibles dans GeneWeb :

Ce tableau est généré automatiquement en insérant un peu de code HTML/GeneWeb dans la note d'un individu de votre base. Le code en question est ici
Table of GeneWeb macros.


Manuel GeneWeb

Rembrandt Old Man Reading a Book.jpg

Utiliser et gérer une base généalogique

Annexe technique