Man page - freetable(1)
Packages contains this manual
Available languages:
en fr plManual
FREETABLE
NOMVERSION
SYNOPSIS
AVERTISSEMENT SUR LA SĂCURITĂ
DESCRIPTION
SYNTAXE
AUTRE SYNTAXE DâADRESSAGE
BORNES EXPLICITES
CODE PERL QUELCONQUE
INCOMPATIBILITĂS AVEC WWWTABLE
BUGS
VOIR AUSSI
AUTEUR
NOM
freetable - outil de génération automatique de tableaux HTML
VERSION
Cette documentation dĂ©crit lâutilisation de freetable version 2.3.
Si vous utilisez une autre version, certaines différences peuvent apparaitre.
SYNOPSIS
freetable [options] fichier
ou
freetable [options]
Options:
-h , --help Affiche cette aide et stoppe
-V , --version Affiche seulement le numéro 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
généré automatiquement et ne doit pas
ĂȘtre Ă©ditĂ©
-l
,
--location
Remplace les indicateurs
"<row>" (ligne)
et "<col>" (colonne) Ă
lâintĂ©rieur des
tableaux par la position de la cellule
courante.
-m
,
--macro [program]
Avec cette option, le contenu des
cellules est passé à un pré-processeur,
qui est
m4
par défaut
AVERTISSEMENT SUR LA SĂCURITĂ
N'UTILISEZ PAS
DE MACRO-PROCESSEUR SUR UN
FICHIER SOURCE DONT VOUS N'ĂTES PAS SĂR.
CELA POURRAIT COMPROMETTRE LA SĂCURITĂ DE
VOTRE SYSTĂME
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 agrĂ©able, mais avec un Ă©norme dĂ©faut : les tableaux. Jâai passĂ© de nombreuses heures Ă lire le code source que jâavais tout juste Ă©crit pour essayer de comprendre quelle cellule dans le code source correspond Ă ce qui est affichĂ© dans le navigateur.
Si cela vous rappelle une expĂ©rience similaire, alors lisez cette documentation et votre peine ne sera plus quâun mauvais souvenir.
Le programme reçoit en entrĂ©e du code HTML provenant soit de lâentrĂ©e standard ( stdin ), soit dâun fichier. Il recherche alors les caractĂšres suivants, qui annoncent lâouverture dâun tableau:
<wwwtable [options]>
Il analyse le contenu jusquâĂ dĂ©tecter la fin du tableau, affiche le code HTML correspondant puis continue le traitement avec les tableaux suivants.
SYNTAXE
La syntaxe est trĂšs simple:
wwwtable:
<wwwtable [wwwtable_options]>
[preambule]
[cellule]
[cellule]
...
</wwwtable>
La chaĂźne optionnelle wwwtable_options est passĂ©e telle quelle comme attribut de la balise "<table>". Le prĂ©ambule nâest pas traitĂ©, il peux contenir nâimporte quel code HTML, il sera insĂ©rĂ© au dĂ©but du tableau.
Les cellules sont soit des cellules normales (balise "<td>"), soit des cellules dâen-tĂȘte (balise "<th>"). Il en Ă©tait ainsi jusquâaux versions 1.x, voyez la prochaine section pour une autre mĂ©thode dâadressage des colonnes.
cellule normale:
(ligne,colonne) options_cellule
contenu_cellule
cellule en-tĂȘte:
((ligne,colonne)) options_cellule
contenu_cellule
Le texte contenu dans options_cellule est passé comme attribut de la balise de la cellule. Les mots-clés colspan et rowspan sont interprétés pour générer des tableaux corrects.
Le contenu des cellules (contenu_cellule) est quelconque, il peut mĂȘme contenir dâautres wwwtables !
Si vous utilisez lâoption -m (ou son synonyme --macro ), le contenu des cellules sera passĂ© comme entrĂ©e standard de la commande m4 (1), aprĂšs avoir remplacĂ© les chaĂźnes de caractĂšres <row> (resp. <col> ) par le numĂ©ro de ligne (resp. colonne) de la cellule.
Les indices de ligne et colonne sont soit des nombres, soit un adressage relatif, soit une expression rĂ©guliĂšre qui dĂ©signe un ensemble de cellules. Ă la diffĂ©rence de wwwtable , freetable peut aussi utiliser des expressions rĂ©guliĂšres dans les cellules dâen-tĂȘte. Un autre ajout est la possiblitĂ© dâutiliser * Ă la place de .* .
Lâadressage relatif est de la forme :
= ou vide : mĂȘme indice que la cellule prĂ©cĂ©dente
+ ou +X : incrĂ©mente lâindice de X (dĂ©faut: 1)
- ou -X : dĂ©crĂ©mente lâindice de X (dĂ©faut: 1)
Lorsquâune cellule est dĂ©signĂ©e par plusieurs expressions, Ă la fois les options et le contenu de chaque cellule sont ajoutĂ©s.
Si vous nâutilisez que des expressions rĂ©guliĂšres, il faut indiquer au programme la position de la derniĂšre 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 trĂšs pratique de spĂ©cifier les numĂ©ros de cellules avec des expressions rĂ©guliĂšres. Freetable 2.0 a introduit deux nouvelles mĂ©thodes dâadressage, qui peuvent ĂȘtre utilisĂ©es sur les cellules normales et les cellules dâen-tĂȘte.
Une compatibilitĂ© totale avec les versions antĂ©rieures est assurĂ©e. Pour cette raison, il nâĂ©tait pas question de modifier la syntaxe actuelle. Malheureusement, vous ne pouvez pas spĂ©cifier les lignes en utilisant une syntaxe dâadressage, et les colonnes avec une autre syntaxe. Pour remĂ©dier Ă ce problĂšme, les deux mĂ©thodes sont trĂšs souples, si bien que vous ne devriez jamais avoir Ă les mĂ©langer, et elles vous permettent dâutiliser = , + , - , +X , -X et la chaĂźne vide de la mĂȘme façon quâavec freetable 1.x.
De plus, ces nouvelles mĂ©thodes dĂ©terminent automatiquement la derniĂšre cellule, contrairement Ă lâadressage par des expressions rĂ©guliĂšres.
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 Ă©liminĂ©s. Pour les besoins de lâadressage relatif, le dernier nombre est utilisĂ©e. Ainsi, quand vous Ă©crivez
(1-100,32;1)
foo
(+,)
bar
la cellule (33,1) contiendra « foo bar » et toutes les autres seulement « foo ».
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 repĂ©rĂ©
oar notre expression réguliÚre (pas
trÚs futée) et renvoie une liste. Il
nâest malheureusement pas possible de dĂ©tecter
nâimporte quel code de Perl grĂące Ă une
expression réguliÚre, mais du moment
quâil ne contient pas les sĂ©quences
},{
et
})
, cela devrait marcher. Exemple :
<wwwtable>
({grep {$_%3 == 1} 1..100},{1..2,4})
foo
</wwwtable>
va créer un tableau de 100 lignes par 4 colonnes avec « foo » dans les premiÚres, deuxiÚme et quatriÚme colonnes de chaque ligne dont le numéro vaut 1 modulo 3.
Si vous voulez mĂ©langer cet adressage avec le prĂ©cĂ©dent, il suffit de remplacer - par .. dans la dĂ©finition des bornes, et lâentourer par des accolades { et } .
Si vous voulez mélanger cet adressage avec une expression réguliÚre, vous pouvez remplacer cette derniÚre par {grep {/expression/} min..max} . Il est malheureusement obligatoire de spécifier explicitement la dimension du tableau.
INCOMPATIBILITĂS AVEC WWWTABLE
Les utilisateurs de wwwtable qui dĂ©cident de passer Ă freetable devraient lire cette section. La majoritĂ© des incompatibilitĂ©s proviennent du traitement des expressions rĂ©guliĂšres. Il faut aussi noter que wwwtable ne permettait ni le remplacement automatiques des numĂ©ros de lignes et de colonnes, ni lâutilisation dâun prĂ©-processeur.
Lâoption -w a le comportement opposĂ©. Nous nâĂ©crivons aucun commentaire par dĂ©faut, et -w ou --warning est utilisĂ©e pour les ajouter.
Les cellules dâen-tĂȘte peuvent ĂȘtre dĂ©finies avec des expressions rĂ©guliĂšres, par exemple
((1,*))
ce qui était 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 Ă©crire
(*,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 mĂ©thodes complĂštement nouvelles dâadressage des cellules ont Ă©tĂ© introduites. Elles sont totalement incompatibles avec wwwtable .
BUGS
Lâutilisation de « code Perl quelconque » Ă©chouera avec du code complexe.
VOIR AUSSI
m4(1)
AUTEUR
Tomasz Wegrzanowski <taw@users.sourceforge.net>
Traduction française de la documentation: Denis Barbier <barbier@debian.org>