Difference between revisions of "macros/fr"

From GeneWeb
Jump to: navigation, search
Line 1: Line 1:
 
=Macros=
 
=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.
+
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.
 
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.
  
Line 13: Line 13:
  
 
===Base===
 
===Base===
*"%t" : nom de la base.
+
*"'''%t'''" : nom de la base.
*"%f" : en mode serveur, nom de la base, suivi de l'eventuel mot de passe (ex: "toto_xyzzy"); en mode CGI, nom de la commande CGI (ex: "gwd.exe").
+
*"'''%f'''" : en mode serveur, nom de la base, suivi de l'eventuel 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;").
+
*"'''%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;".
+
*"'''%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===
 
===Compte===
*"%c" : nombre d'accès à la page d'accueil.
+
*"'''%c'''" : nombre d'accès à la page d'accueil.
*"%q" : nombre de requêtes.
+
*"'''%q'''" : nombre de requêtes.
*"%d" : date de la première consultation.
+
*"'''%d'''" : date de la première consultation.
 +
 
 
===Conditionnels===
 
===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:
+
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"
+
*"'''f'''" : on est "ami"
*"w" : on est "magicien"
+
*"'''w'''" : on est "magicien"
*"j" : on est "magicien" juste "ami" (cf fichier a.gwf, "wizard_just_friend")
+
*"'''j'''" : on est "magicien" juste "ami" (cf fichier a.gwf, "wizard_just_friend")
*"c" : on est en mode cgi
+
*"'''c'''" : on est en mode cgi
*"h" : il y a un fichier historique
+
*"'''h'''" : il y a un fichier historique
*"l" : le navigateur ne traite pas les tables
+
*"'''l'''" : le navigateur ne traite pas les tables
*"n" : il y a des notes pour la base de données
+
*"'''n'''" : il y a des notes pour la base de données
*"t" : il y a une recherche par titres de noblesse
+
*"'''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")
+
*"'''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
+
*"'''a'''" : il y a une restriction globale d'accès à la base de données
*"N" : contraire de l'expression qui suit
+
*"'''N'''" : contraire de l'expression qui suit
*"|" : "ou" logique entre les deux expressions qui suivent
+
*"'''|'''" : "ou" logique entre les deux expressions qui suivent
*"&" : "et" logique entre les deux expressions qui suivent
+
*"'''&'''" : "et" logique entre les deux expressions qui suivent
 
*:Exemples:
 
*:Exemples:
 
*:afficher le texte s'il y a une recherche par titre: %It...%E
 
*: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
 
*:afficher le texte si on est ni "magicien" ni "ami": %I&NwNf...%E
 +
 
===Divers===
 
===Divers===
*"%r" suivi d'un nom et d'un retour-ligne : inclusion du fichier "nom.txt".
+
*"'''%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".
+
*"'''%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>".
+
*"'''%h'''" : variables contextuelles (voir ci-dessous) sous la forme "<input type=hidden name=var value=val>".
*"%l" : langue.
+
*"'''%l'''" : langue.
*"%n" : nombre de personnes de la base.
+
*"'''%n'''" : nombre de personnes de la base.
*"%u" : personne prise comme référence Sosa.
+
*"'''%u'''" : personne prise comme référence Sosa.
*"%%" : un seul "%".
+
*"'''%%'''" : un seul "%".
*"%[" : un "[".
+
*"'''%['''" : un "[".
*"%]" : un "]".
+
*"'''%]'''" : un "]".
  
  

Revision as of 09:38, 15 October 2015

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'eventuel 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