freetable

Autres langues

Langue: pl

Autres versions - même langue

Version: 2001-12-02 (ubuntu - 08/07/09)

Section: 1 (Commandes utilisateur)

NAME

freetable - program uXatwiajXcy tworzenie HTML-owych tabeli

WERSJA

Ten dokument opisuje freetable w wersji 2.3.

MoXe byae nie w peXni prawidXowy jeXli uXywasz innej wersji.

SYNOPSIS

freetable [opcje] nazwapliku

lub

freetable [opcje]

Dostepne opcje to :

-h, --help Program wydrukuje informacje o sposobie uXycia i skon~czy

-V, --version Program wydrukuje numer wersji i skon~czy

-c, --comment Program wstawi przed kaXdX komorkX komentarz o jej pozycji

-b, --no-nbsp Program nie wstawi   do pustych komorek celem wizualnego ich obniXenia na graficznych przeglXdarkach

-w, --warning Program wstawi ostrzeXenie Xe powinnaX raczej zmieniaae XrodXo niX tabele przed kaXdX tabelX, ktorX stworzy.

-l, --location Program zamieni tagi lokacyjne <row> i <col> wewnXtrz tabeli na pozycje komorki, w ktorej wystXpiX.

-m, --macro [program]
               Program przepuXci tabele przez makroprocesor (domyXlnie: m4)

OSTRZEXENIE

  NIE UXYWAJ MAKROPROCESORA NA NIEPEWNYM XRODLE
  M4 MOXE ZOSTA UXYTE DO NARUSZENIA TWEGO BEZPIECZEN~STWA
  WIECEJ INFORMACJI ZNAJDZIESZ URUCHAMIAJXC :
 
 

info m4 'UNIX commands' syscmd

DESCRIPTION

Ten program jest wyzwolonym (wolnodostepnym) nastepcX wwwtable.

HTML to Xwietny jezyk, ale ma strasznX niedorobe : tabele. SpedziXem wiele czasu wpatrujXc sie w HTMLowy kod i probujXc zgadnXae, ktora komorka kodu odpowiada ktorej w przeglXdarce.

JeXli rownieX miaXeX ten problem, to byae moXe za chwile zostanie rozwiXzany.

Program czyta z pliku lub ze stdin. Szuka linii zaczynajXcej opis tabeli :

     <wwwtable [opcje]>
 
 

Analizuje ten opis, wstawia poprawnX HTML-owX tabele i szuka nastepnego opis, aX plik sie skon~czy.

SKXADNIA TABELI

Jest bardzo prosta :
     wwwtable 
     <wwwtable [opcje]>
     [preambuXa]
     [komorka]
     [komorka]
     ...
     </wwwtable>
 
 

opcje bedX przekazane do taga <table>. PreambuXa to dowolny HTML-owy text. Bedzie umieszczony bezpoXrednio przed tabelX.

komorka to albo normalna_komorka (tag <td>) albo nagXowkowa_komorka (tag <th>). Tak przynajmniej byXo w starszych wersjach freetable. W nastepnej sekcji sX opisane nowe metody adresowania komorek.

     normalna_komorka :
     (rzXd,kolumna) opcje
     zawartoXae
 
     nagXowkowa_komorka :
     ((rzXd,kolumna)) opcje  
     zawartoXae
 
 

opcje bedX przekazane do komorkowego taga. Atrybuty colspan i rowspan sX uwzgledniane podczas tworzenia tabeli.

zawartoXae maXe zawieraae text, tagi a nawet osadzonX tabele.

JeXli uXywasz opcji -m (lub --macro), zawartoXae bedzie przerobiona przez m4(1), z <row> i <col> ustawionymi na adres aktualnej komorki

rzXd i kolumna mogX byae zarowno liczbami, wyraXeniami wzglednymi, albo regex'ami. W przeciwien~stwie do wwwtable, z freetable moXesz uXywaae regex'ow rownieX dla komorek nagXowka. MoXesz rownieX uXywaae *, co znaczy dokXadnie tyle co .*.

WyraXenia wzgledne to :

= albo pusta znaczy : tyle samo co w poprzedniej komorce

+ albo +X znaczy : o 1 lub X wiecej niX w poprzedniej komorce

- albo -X znaczy : o 1 lub X wiecej niX w poprzedniej komorce

JeXli wiele definicji adresuje tX samX komorke zarowno opcje jak i zawartoXae sX doklejane w kolejnoXci wystXpienia.

JeXli chcesz uXywaae tylko regex'ow musisz powiedzieae programowi o adresie ostatniej komorki :

     <wwwtable>
     (*,1)
     to sX piewsze kolumny
     (1,*)
     to sX piewsze rzedy
     (4,4)
     </wwwtable>
 
 

ALTERNATYWNE ADRESY KOMOREK

Adresowanie komorek za pomocX wyraXen~ regularnych jest bardzo niewygodne. Z tego powodu, w freetable 2.0 zostaXy wprowadzone dwie nowe metody. Obie mogX byae uXyte zarowno do komorek normalnych jak i nagXowkowych.

Zachowana jest peXna wsteczna kompatybilnoXae. W tym celu zostaXa wprowadzona nowa skXadnia. Niestety, nie moXesz adresowaae rzedu i kolumny uXywajXc odmiennych metod. Xeby obejXae ten problem, obie nowe metody sX bardzo tolerancyjne i pozwalajX na uXycie =, +, -, +X -X oraz pustego Xan~cucha z tym samym znaczeniem, jakie majX one w starej metodzie.

Nowe metody potrafiX samodzielnie ustaliae rozmiar tabeli.

ZASIEGI

     (zasieg rzedow;zasieg kolumn) opcje
     zawartoXae
 
 

SkXadnia wyglXda jak: 1-2,4-7,9,12. Zduplikowane adresy zostajX wyeliminowane. Dla potrzeb adresowania relatywnego, uXyty jest ostatni podany numer. A wiec jeXli napiszesz

     (1-100,32;1)
     foo
     (+,)
     bar
 
 

Komorka (33,1) bedzie zawieraae `foobar' a wszystkie pozostaXe tylko `foo'.

DOWOLNY KOD PERL

     ({kod dla rzedow},{kod dla kolumn}) opcje
     zawartoXae
 
 

MoXesz uXywaae dowolnego kodu Perl o ile zmieXci sie w jednej linijce, pasuje do naszego wyraXenia regularnego i da w wyniku liste. Niestety, nie istnieje wyraXenie regularne pasujXce do dowolnego kodu Perl, ale dopoki twoj kod nie zawiera },{ ani }), powinno dziaXaae. PrzykXad:

     <wwwtable>
     ({grep {$_%3 == 1} 1..100},{1..2,4})
     foo
     </wwwtable>
 
 

Da tabele 100 rzedow x 4 kolumny z `foo' w kaXdej 1wszej, 2giej i 4tej kolumnie kaXdego rzedu o numerze dajXcym reszte 1 w dzieleniu przez 3.

JeXli chcesz uXyae ``dowolnego kodu'' w jednej czesci adresu a zasiegu w drugiej zastXp w definicji zasiegu - przez .. i wXoX zasieg miedzy { i }.

JeXli chcesz uXyae ``dowolnego kodu'' w jednej czesci adresu a wyraXenia regulernego w drugiej, musisz napisaae {grep {/wyraXenie/} od..do}. Niestety, w tym wypadku musisz podaae rozmiar tablicy.

NIEZGODNOXCI Z WWWTABLE

JeXli poprzednio uXywaXeX wwwtable, a teraz chcesz sie przesiXXae, powinieneX przeczytaae ten rozdziaX. WiekszoXae jest o regex'ach. ZauwaX rownieX, Xe wwwtable nie mogX uXywaae podstawiania tagow lokacyjnych ani makroprocesora.

Opcja -w ma przeciwne znaczenie. DomyXlnie Xadne ostrzeXenie nie jest drukowane, a -w albo --warning sXuXX wymuszeniu takiego ostrzaXenia.

Komorki nagXowkowe mogX byae zdefiniowane za pomocX regex'ow :

     ((1,*))
 
 

Nie byXo to moXliwe z wwwtable.

Liczniki pozycji na osiach sX 100%-owo niezaleXne. Wynika z tego Xe kod :

     (*,1) width=30
     (*,2) width=35
     (*,3) width=40
     (=,=)
     CoXX
 
 

umieXci CoXX w 3ciej kolumnie. JeXli chcesz, by byXo w 1wszej, napisz :

     (*,1) width=30
     (*,2) width=35
     (*,3) width=40
     (=,1)
     CoXX
 
 

albo

     (*,) width=30
     (*,+) width=35
     (*,+) width=40
     (=,1)
     CoXX
 
 

W freetable 2.0 zostaXy wprowadzone dwie nowe metody adresowania komorek. SX caXkowicie niezgodne z wwwtable.

BUGS

Adres typu ``Dowolny Kod Perl'' moXe nie dziaXaae ze skomplikowanym kodem.

ZOBACZ ROWNIEX

m4(1)

AUTOR

Tomasz Wegrzanowski <taw@users.sourceforge.net>

(zarowno angielska jak i polska wersja)