macros/fr

From GeneWeb
Revision as of 12:09, 15 October 2015 by Henri83 (Talk | contribs)

Jump to: navigation, search

Macros

Comme indiqué précédemment, les fichiers de pages d'accueil ne sont pas du pur HTML. Ils contiennent des "macros". Ce sont des séquences commençant par le caractère "%" et suivis par une lettre. Exemples: "%s", "%x", etc. Ces macros sont remplacées par des valeurs qui dépendent du contexte: nom de la base, langue, nombre de personnes dans la base, etc.

Il y a également un traitement particulier pour les crochets "[" et "]": s'il y a un texte entre crochets, il est traduit dans la langue courante à partir du lexique (fichier "lexicon.txt") avec les modifications suivantes:

S'il y a une étoile après le crochet ouvrant, la première lettre de la traduction est convertie en majuscule. Si le crochet fermant est suivi d'un nombre, cela correspond à la n-ème occurrence de la traduction (commençant à 0), les occurrences étant séparées par des "/". Si cette occurrence n'existe pas, c'est la première qui est prise. Pour comprendre comment les macros sont utilisées, le mieux est de regarder les fichiers "start.txt" fournis avec la distribution.

Voici le sens des macros "%":

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".
  • "%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 "]".


Certaines macros font références à des variables contextuelles. Ce sont:

  • b : en mode CGI, nom de la base.
  • lang : langue.
  • iz : numéro de l'éventuelle personne prise comme référence Sosa.

Les macros particulièrement intéressantes sont:

  • "%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.

Retour vers Mode d'Emploi

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

Table of GeneWeb macros.