Rechercher une page de manuel
freetable
Langue: fr
Version: 2008-05-05 (ubuntu - 07/07/09)
Section: 1 (Commandes utilisateur)
Sommaire
NOM
freetable - outil de generation automatique de tableaux HTMLVERSION
Cette documentation decrit l'utilisation de freetable version 2.3.Si vous utilisez une autre version, certaines differences peuvent apparaitre.
SYNOPSIS
freetable [options] fichierou
freetable [options]
Options:
-h, --help Affiche cette aide et stoppe
-V, --version Affiche seulement le numero de version
-c, --comment Affiche un commentaire avant chaque
cellule pour indiquer son emplacement
-b, --no-nbsp N'ajoute pas dans les cellules
vides pour modifier le rendu 3D
-w, --warning Affiche un commentaire avant chaque
tableau, indiquant que le tableau est
genere automatiquement et ne doit pas
etre edite
-l, --location Remplace les indicateurs "<row>" (ligne)
et "<col>" (colonne) a l'interieur des
tableaux par la position de la cellule
courante.
-m, --macro [program]
Avec cette option, le contenu des
cellules est passe a un pre-processeur,
qui est m4 par defaut
AVERTISSEMENT SUR LA SECURITE
N'UTILISEZ PAS DE MACRO-PROCESSEUR SUR UN FICHIER SOURCE DONT VOUS N'ETES PAS SUR. CELA POURRAIT COMPROMETTRE LA SECURITE DE VOTRE SYSTEME
Plus d'informations dans la documentation de m4, en particulier la commande syscmd.
DESCRIPTION
Ce programme est un logiciel libre qui remplace wwwtable.HTML est un langage agreable, mais avec un enorme defaut : les tableaux. J'ai passe de nombreuses heures a lire le code source que j'avais tout juste ecrit pour essayer de comprendre quelle cellule dans le code source correspond a ce qui est affiche dans le navigateur.
Si cela vous rappelle une experience similaire, alors lisez cette documentation et votre peine ne sera plus qu'un mauvais souvenir.
Le programme recoit en entree du code HTML provenant soit de l'entree standard (stdin), soit d'un fichier. Il recherche alors les caracteres suivants, qui annoncent l'ouverture d'un tableau:
<wwwtable [options]>
Il analyse le contenu jusqu'a detecter la fin du tableau, affiche le code HTML correspondant puis continue le traitement avec les tableaux suivants.
SYNTAXE
La syntaxe est tres simple:wwwtable: <wwwtable [wwwtable_options]> [preambule] [cellule] [cellule] ... </wwwtable>
La chaine optionnelle wwwtable_options est passee telle quelle comme attribut de la balise "<table>". Le preambule n'est pas traite, il peux contenir n'importe quel code HTML, il sera insere au debut du tableau.
Les cellules sont soit des cellules normales (balise "<td>"), soit des cellules d'en-tete (balise "<th>"). Il en etait ainsi jusqu'aux versions 1.x, voyez la prochaine section pour une autre methode d'adressage des colonnes.
cellule normale: (ligne,colonne) options_cellule contenu_cellule cellule en-tete: ((ligne,colonne)) options_cellule contenu_cellule
Le texte contenu dans options_cellule est passe comme attribut de la balise de la cellule. Les mots-cles colspan et rowspan sont interpretes pour generer des tableaux corrects.
Le contenu des cellules (contenu_cellule) est quelconque, il peut meme contenir d'autres wwwtables !
Si vous utilisez l'option -m (ou son synonyme --macro), le contenu des cellules sera passe comme entree standard de la commande m4(1), apres avoir remplace les chaines de caracteres <row> (resp. <col>) par le numero de ligne (resp. colonne) de la cellule.
Les indices de ligne et colonne sont soit des nombres, soit un adressage relatif, soit une expression reguliere qui designe un ensemble de cellules. A la difference de wwwtable, freetable peut aussi utiliser des expressions regulieres dans les cellules d'en-tete. Un autre ajout est la possiblite d'utiliser * a la place de .*.
L'adressage relatif est de la forme :
= ou vide : meme indice que la cellule precedente
+ ou +X : incremente l'indice de X (defaut: 1)
- ou -X : decremente l'indice de X (defaut: 1)
Lorsqu'une cellule est designee par plusieurs expressions, a la fois les options et le contenu de chaque cellule sont ajoutes.
Si vous n'utilisez que des expressions regulieres, il faut indiquer au programme la position de la derniere cellule.
<wwwtable> (*,1) cellules de la colonne 1 (1,*) cellules de la ligne 1 (4,4) </wwwtable>
AUTRE SYNTAXE D'ADRESSAGE
Il n'est pas tres pratique de specifier les numeros de cellules avec des expressions regulieres. Freetable 2.0 a introduit deux nouvelles methodes d'adressage, qui peuvent etre utilisees sur les cellules normales et les cellules d'en-tete.Une compatibilite totale avec les versions anterieures est assuree. Pour cette raison, il n'etait pas question de modifier la syntaxe actuelle. Malheureusement, vous ne pouvez pas specifier les lignes en utilisant une syntaxe d'adressage, et les colonnes avec une autre syntaxe. Pour remedier a ce probleme, les deux methodes sont tres souples, si bien que vous ne devriez jamais avoir a les melanger, et elles vous permettent d'utiliser =, +, -, +X, -X et la chaine vide de la meme facon qu'avec freetable 1.x.
De plus, ces nouvelles methodes determinent automatiquement la derniere cellule, contrairement a l'adressage par des expressions regulieres.
BORNES EXPLICITES
(bornes_ligne;bornes_colonne) options_cellule contenu_cellule
La syntaxe pour bornes_ligne et bornes_colonne est de la forme: 1-2,4-7,9,12. Les doublons sont elimines. Pour les besoins de l'adressage relatif, le dernier nombre est utilisee. Ainsi, quand vous ecrivez
(1-100,32;1) foo (+,) bar
la cellule (33,1) contiendra X foo bar X et toutes les autres seulement X foo X.
CODE PERL QUELCONQUE
({code pour les lignes},{code pour les colonnes}) options_cellule contenu_cellule
Vous pouvez utiliser n'importe quel code Perl qui tient sur une seule ligne du moment qu'il est repere oar notre expression reguliere (pas tres futee) et renvoie une liste. Il n'est malheureusement pas possible de detecter n'importe quel code de Perl grace a une expression reguliere, mais du moment qu'il ne contient pas les sequences },{ et }), cela devrait marcher. Exemple :
<wwwtable>
({grep {$_%3 == 1} 1..100},{1..2,4})
foo
</wwwtable>
va creer un tableau de 100 lignes par 4 colonnes avec X foo X dans les premieres, deuxieme et quatrieme colonnes de chaque ligne dont le numero vaut 1 modulo 3.
Si vous voulez melanger cet adressage avec le precedent, il suffit de remplacer - par .. dans la definition des bornes, et l'entourer par des accolades { et }.
Si vous voulez melanger cet adressage avec une expression reguliere, vous pouvez remplacer cette derniere par {grep {/expression/} min..max}. Il est malheureusement obligatoire de specifier explicitement la dimension du tableau.
INCOMPATIBILITES AVEC WWWTABLE
Les utilisateurs de wwwtable qui decident de passer a freetable devraient lire cette section. La majorite des incompatibilites proviennent du traitement des expressions regulieres. Il faut aussi noter que wwwtable ne permettait ni le remplacement automatiques des numeros de lignes et de colonnes, ni l'utilisation d'un pre-processeur.L'option -w a le comportement oppose. Nous n'ecrivons aucun commentaire par defaut, et -w ou --warning est utilisee pour les ajouter.
Les cellules d'en-tete peuvent etre definies avec des expressions regulieres, par exemple
((1,*))
ce qui etait impossible avec wwwtable.
Les indices des axes sont 100% orthogonaux, ce qui signifie qu'avec le code suivant
(*,1) width=30 (*,2) width=35 (*,3) width=40 (=,=) Foo
Foo va apparaitre en 3e colonne, et si vous vouliez qu'il soit en 1e position, il faut ecrire
(*,1) width=30 (*,2) width=35 (*,3) width=40 (=,1) Foo
ou
(*,) width=30 (*,+) width=35 (*,+) width=40 (=,1) Foo
Avec freetable 2.0, deux methodes completement nouvelles d'adressage des cellules ont ete introduites. Elles sont totalement incompatibles avec wwwtable.
BUGS
L'utilisation de X code Perl quelconque X echouera avec du code complexe.VOIR AUSSI
m4(1)AUTEUR
Tomasz Wegrzanowski <taw@users.sourceforge.net>Traduction francaise de la documentation: Denis Barbier <barbier@debian.org>
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre