freetable(1)

NAME

freetable - program u³atwiaj±cy tworzenie HTML-owych tabeli

WERSJA

Ten dokument opisuje freetable w wersji 2.3.

Mo¿e byæ nie w pe³ni prawid³owy je¶li u¿ywasz innej wersji.

SYNOPSIS

freetable [opcje] nazwapliku
lub
freetable [opcje]
Dostêpne opcje to :
-h, --help    Program wydrukuje informacjê o sposobie u¿ycia i skoñczy
-V, --version Program wydrukuje numer wersji i skoñczy
-c, --comment Program wstawi przed ka¿d± komórk± komentarz o jej pozycji
-b, --no-nbsp Program nie wstawi   do pustych komórek celem wizualnego ich obni¿enia na graficznych przegl±darkach
-w, --warning Program wstawi ostrze¿enie ¿e powinna¶ raczej zmieniaæ
¼ród³o ni¿ tabelê przed ka¿d± tabel±, któr± stworzy.
-l, --location Program zamieni tagi lokacyjne <row> i <col> wewn±trz
tabeli na pozycjê komórki, w której wyst±pi±.
-m, --macro [program]
               Program przepu¶ci tabelê przez makroprocesor (domy¶lnie:
m4)

OSTRZE¯ENIE

NIE U¯YWAJ MAKROPROCESORA NA NIEPEWNYM ¬RÓDLE
M4 MO¯E ZOSTAÆ U¯YTE DO NARUSZENIA TWEGO BEZPIECZEÑSTWA
WIÊCEJ INFORMACJI ZNAJDZIESZ URUCHAMIAJ¡C :
info m4 'UNIX commands' syscmd

DESCRIPTION

Ten program jest wyzwolonym (wolnodostêpnym) nastêpc± wwwtable.

HTML to ¶wietny jêzyk, ale ma straszn± niedoróbê : tabele. Spêdzi³em
wiele czasu wpatruj±c siê w HTMLowy kod i próbuj±c zgadn±æ, która
komórka kodu odpowiada której w przegl±darce.

Je¶li równie¿ mia³e¶ ten problem, to byæ mo¿e za chwilê zostanie
rozwi±zany.

Program czyta z pliku lub ze stdin. Szuka linii zaczynaj±cej opis tabeli :
<wwwtable [opcje]>
Analizuje ten opis, wstawia poprawn± HTML-ow± tabelê i szuka nastêpnego opis, a¿ plik siê skoñczy.

SK£ADNIA TABELI

Jest bardzo prosta :
wwwtable
<wwwtable [opcje]>
[preambu³a]
[komórka]
[komórka]
...
</wwwtable>
opcje bêd± przekazane do taga <table>. Preambu³a to dowolny HTML-owy text. Bêdzie umieszczony bezpo¶rednio przed tabel±.
komórka to albo normalna_komórka (tag <td>) albo nag³ówkowa_komórka (tag <th>). Tak przynajmniej by³o w starszych wersjach freetable. W nastêpnej sekcji s± opisane nowe metody adresowania komórek.

normalna_komórka :
(rz±d,kolumna) opcje
zawarto¶æ
nag³ówkowa_komórka :
((rz±d,kolumna)) opcje
zawarto¶æ
opcje bêd± przekazane do komórkowego taga. Atrybuty colspan i rowspan s± uwzglêdniane podczas tworzenia tabeli.
zawarto¶æ ma¿e zawieraæ text, tagi a nawet osadzon± tabelê.
Je¶li u¿ywasz opcji -m (lub --macro), zawarto¶æ bêdzie przerobiona przez m4(1), z <row> i <col> ustawionymi na adres aktualnej komórki
rz±d i kolumna mog± byæ zarówno liczbami, wyra¿eniami wzglêdnymi, albo regex'ami. W przeciwieñstwie do wwwtable, z freetable mo¿esz u¿ywaæ regex'ów równie¿ dla komórek nag³ówka. Mo¿esz równie¿ u¿ywaæ *, co
znaczy dok³adnie tyle co .*.
Wyra¿enia wzglêdne to :
= albo pusta znaczy : tyle samo co w poprzedniej komórce
+ albo +X znaczy : o 1 lub X wiêcej ni¿ w poprzedniej komórce
- albo -X znaczy : o 1 lub X wiêcej ni¿ w poprzedniej komórce
Je¶li wiele definicji adresuje t± sam± komórkê zarówno opcje jak i
zawarto¶æ s± doklejane w kolejno¶ci wyst±pienia.
Je¶li chcesz u¿ywaæ tylko regex'ów musisz powiedzieæ programowi o
adresie ostatniej komórki :

<wwwtable>
(*,1)
to s± piewsze kolumny
(1,*)
to s± piewsze rzêdy
(4,4)
</wwwtable>

ALTERNATYWNE ADRESY KOMÓREK

Adresowanie komórek za pomoc± wyra¿eñ regularnych jest bardzo
niewygodne. Z tego powodu, w freetable 2.0 zosta³y wprowadzone dwie nowe metody. Obie mog± byæ u¿yte zarówno do komórek normalnych jak i nag³ówkowych.

Zachowana jest pe³na wsteczna kompatybilno¶æ. W tym celu zosta³a
wprowadzona nowa sk³adnia. Niestety, nie mo¿esz adresowaæ rzêdu i
kolumny u¿ywaj±c odmiennych metod. ¯eby obej¶æ ten problem, obie nowe metody s± bardzo tolerancyjne i pozwalaj± na u¿ycie =, +, -, +X -X oraz pustego ³añcucha z tym samym znaczeniem, jakie maj± one w starej
metodzie.

Nowe metody potrafi± samodzielnie ustaliæ rozmiar tabeli.

ZASIÊGI
(zasiêg rzêdów;zasiêg kolumn) opcje
zawarto¶æ
Sk³adnia wygl±da jak: 1-2,4-7,9,12. Zduplikowane adresy zostaj± wyeliminowane. Dla potrzeb adresowania relatywnego, u¿yty jest ostatni
podany numer. A wiêc je¶li napiszesz

(1-100,32;1)
foo
(+,)
bar
Komórka (33,1) bêdzie zawieraæ `foobar' a wszystkie pozosta³e tylko
`foo'.
DOWOLNY KOD PERL

({kod dla rzêdów},{kod dla kolumn}) opcje
zawarto¶æ
Mo¿esz u¿ywaæ dowolnego kodu Perl o ile zmie¶ci siê w jednej linijce,
pasuje do naszego wyra¿enia regularnego i da w wyniku listê. Niestety, nie istnieje wyra¿enie regularne pasuj±ce do dowolnego kodu Perl, ale
dopóki twój kod nie zawiera },{ ani }), powinno dzia³aæ. Przyk³ad:

<wwwtable>
({grep {$_%3 == 1} 1..100},{1..2,4})
foo
</wwwtable>
Da tabele 100 rzêdów x 4 kolumny z `foo' w ka¿dej 1wszej, 2giej i 4tej kolumnie ka¿dego rzêdu o numerze daj±cym reszte 1 w dzieleniu przez 3.
Je¶li chcesz u¿yæ "dowolnego kodu" w jednej czêsci adresu a zasiêgu w
drugiej zast±p w definicji zasiêgu - przez .. i w³ó¿ zasiêg miêdzy { i }.
Je¶li chcesz u¿yæ "dowolnego kodu" w jednej czêsci adresu a wyra¿enia
regulernego w drugiej, musisz napisaæ {grep {/wyra¿enie/} od..do}. Niestety, w tym wypadku musisz podaæ rozmiar tablicy.

NIEZGODNO¦CI Z WWWTABLE

Je¶li poprzednio u¿ywa³e¶ wwwtable, a teraz chcesz siê przesi±¶æ, powiniene¶ przeczytaæ ten rozdzia³. Wiêkszo¶æ jest o regex'ach. Zauwa¿ równie¿, ¿e wwwtable nie móg³ u¿ywaæ podstawiania tagów lokacyjnych ani makroprocesora.

Opcja -w ma przeciwne znaczenie. Domy¶lnie ¿adne ostrze¿enie nie jest drukowane, a -w albo --warning s³u¿± wymuszeniu takiego ostrza¿enia.

Komórki nag³ówkowe mog± byæ zdefiniowane za pomoc± regex'ów :
((1,*))
Nie by³o to mo¿liwe z wwwtable.
Liczniki pozycji na osiach s± 100%-owo niezale¿ne. Wynika z tego ¿e kod :

(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,=)
Co¶¶
umie¶ci Co¶¶ w 3ciej kolumnie. Je¶li chcesz, by by³o w 1wszej, napisz :

(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,1)
Co¶¶
albo

(*,) width=30
(*,+) width=35
(*,+) width=40
(=,1)
Co¶¶
W freetable 2.0 zosta³y wprowadzone dwie nowe metody adresowania komórek. S± ca³kowicie niezgodne z wwwtable.

BUGS

Adres typu "Dowolny Kod Perl" mo¿e nie dzia³aæ ze skomplikowanym kodem.

ZOBACZ RÓWNIE¯

mm44(1)

AUTOR

Tomasz Wegrzanowski <taw@users.sourceforge.net>

(zarówno angielska jak i polska wersja)
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout