1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
|
=head1 NAME
B<freetable> - program uatwiajcy tworzenie HTML-owych tabeli
=head1 WERSJA
Ten dokument opisuje B<freetable> w wersji 2.3.
Moe by nie w peni prawidowy jeli uywasz innej wersji.
=head1 SYNOPSIS
B<freetable> I<[opcje]> I<nazwapliku>
lub
B<freetable> I<[opcje]>
Dostpne opcje to :
I<-h>, I<--help> Program wydrukuje informacj o sposobie uycia i skoczy
I<-V>, I<--version> Program wydrukuje numer wersji i skoczy
I<-c>, I<--comment> Program wstawi przed kad komrk komentarz o jej pozycji
I<-b>, I<--no-nbsp> Program nie wstawi I< > do pustych komrek celem
wizualnego ich obnienia na graficznych przegldarkach
I<-w>, I<--warning> Program wstawi ostrzeenie e powinna raczej zmienia
rdo ni tabel przed kad tabel, ktr stworzy.
I<-l>, I<--location> Program zamieni tagi lokacyjne I<E<lt>rowE<gt>> i
I<E<lt>colE<gt>> wewntrz tabeli na pozycj komrki, w ktrej wystpi.
I<-m>, I<--macro> I<[program]>
Program przepuci tabel przez makroprocesor (domylnie: B<m4>)
=head1 OSTRZEENIE
NIE UYWAJ MAKROPROCESORA NA NIEPEWNYM RDLE
M4 MOE ZOSTA UYTE DO NARUSZENIA TWEGO BEZPIECZESTWA
WICEJ INFORMACJI ZNAJDZIESZ URUCHAMIAJC :
I<info m4 'UNIX commands' syscmd>
=head1 DESCRIPTION
Ten program jest wyzwolonym (wolnodostpnym) nastpc B<wwwtable>.
HTML to wietny jzyk, ale ma straszn niedorb : tabele.
Spdziem wiele czasu wpatrujc si w HTMLowy kod i prbujc zgadn,
ktra komrka kodu odpowiada ktrej w przegldarce.
Jeli rwnie miae ten problem, to by moe za chwil zostanie rozwizany.
Program czyta z pliku lub ze I<stdin>. Szuka linii zaczynajcej opis tabeli :
<wwwtable [opcje]>
Analizuje ten opis, wstawia poprawn HTML-ow tabel i szuka nastpnego opis, a plik
si skoczy.
=head1 SKADNIA TABELI
Jest bardzo prosta :
wwwtable
<wwwtable [opcje]>
[preambua]
[komrka]
[komrka]
...
</wwwtable>
opcje bd przekazane do taga I<E<lt>tableE<gt>>.
Preambua to dowolny HTML-owy text. Bdzie umieszczony bezporednio przed tabel.
komrka to albo normalna_komrka (tag I<E<lt>tdE<gt>>) albo
nagwkowa_komrka (tag I<E<lt>thE<gt>>).
Tak przynajmniej byo w starszych wersjach freetable.
W nastpnej sekcji s opisane nowe metody adresowania komrek.
normalna_komrka :
(rzd,kolumna) opcje
zawarto
nagwkowa_komrka :
((rzd,kolumna)) opcje
zawarto
opcje bd przekazane do komrkowego taga. Atrybuty I<colspan> i I<rowspan>
s uwzgldniane podczas tworzenia tabeli.
zawarto mae zawiera text, tagi a nawet osadzon tabel.
Jeli uywasz opcji I<-m> (lub I<--macro>), zawarto bdzie przerobiona przez m4(1),
z <row> i <col> ustawionymi na adres aktualnej komrki
rzd i kolumna mog by zarwno liczbami, wyraeniami wzgldnymi, albo regex'ami.
W przeciwiestwie do B<wwwtable>, z B<freetable> moesz uywa regex'w rwnie
dla komrek nagwka.
Moesz rwnie uywa I<*>, co znaczy dokadnie tyle co I<.*>.
Wyraenia wzgldne to :
I<=> albo pusta znaczy : tyle samo co w poprzedniej komrce
I<+> albo I<+X> znaczy : o 1 lub X wicej ni w poprzedniej komrce
I<-> albo I<-X> znaczy : o 1 lub X wicej ni w poprzedniej komrce
Jeli wiele definicji adresuje t sam komrk zarwno opcje jak i zawarto s doklejane
w kolejnoci wystpienia.
Jeli chcesz uywa tylko regex'w musisz powiedzie programowi o adresie ostatniej komrki :
<wwwtable>
(*,1)
to s piewsze kolumny
(1,*)
to s piewsze rzdy
(4,4)
</wwwtable>
=head1 ALTERNATYWNE ADRESY KOMREK
Adresowanie komrek za pomoc wyrae regularnych jest
bardzo niewygodne. Z tego powodu, w B<freetable> 2.0 zostay
wprowadzone dwie nowe metody.
Obie mog by uyte zarwno do komrek normalnych jak i nagwkowych.
Zachowana jest pena wsteczna kompatybilno.
W tym celu zostaa wprowadzona nowa skadnia.
Niestety, nie moesz adresowa rzdu i kolumny uywajc
odmiennych metod.
eby obej ten problem, obie nowe metody s bardzo tolerancyjne
i pozwalaj na uycie I<=>, I<+>, I<->, I<+X> I<-X> oraz
pustego acucha z tym samym znaczeniem, jakie maj one
w starej metodzie.
Nowe metody potrafi samodzielnie ustali rozmiar tabeli.
=head2 ZASIGI
(zasig rzdw;zasig kolumn) opcje
zawarto
Skadnia wyglda jak: 1-2,4-7,9,12.
Zduplikowane adresy zostaj wyeliminowane.
Dla potrzeb adresowania relatywnego,
uyty jest ostatni podany numer. A wic jeli napiszesz
(1-100,32;1)
foo
(+,)
bar
Komrka (33,1) bdzie zawiera `foobar' a wszystkie pozostae tylko `foo'.
=head2 DOWOLNY KOD PERL
({kod dla rzdw},{kod dla kolumn}) opcje
zawarto
Moesz uywa dowolnego kodu Perl o ile zmieci si w jednej linijce,
pasuje do naszego wyraenia regularnego i da w wyniku list.
Niestety, nie istnieje wyraenie regularne pasujce do dowolnego
kodu Perl, ale dopki twj kod nie zawiera I<},{> ani I<})>,
powinno dziaa.
Przykad:
<wwwtable>
({grep {$_%3 == 1} 1..100},{1..2,4})
foo
</wwwtable>
Da tabele 100 rzdw x 4 kolumny z `foo' w kadej
1wszej, 2giej i 4tej kolumnie kadego rzdu o numerze dajcym reszte 1 w
dzieleniu przez 3.
Jeli chcesz uy "dowolnego kodu" w jednej czsci adresu a zasigu w drugiej
zastp w definicji zasigu I<-> przez I<..> i w zasig midzy I<{> i I<}>.
Jeli chcesz uy "dowolnego kodu" w jednej czsci adresu a wyraenia
regulernego w drugiej, musisz napisa I<{grep {/wyraenie/} od..do}>.
Niestety, w tym wypadku musisz poda rozmiar tablicy.
=head1 NIEZGODNOCI Z WWWTABLE
Jeli poprzednio uywae B<wwwtable>, a teraz chcesz si przesi,
powiniene przeczyta ten rozdzia. Wikszo jest o regex'ach.
Zauwa rwnie, e B<wwwtable> nie mg uywa podstawiania tagw lokacyjnych ani
makroprocesora.
Opcja I<-w> ma przeciwne znaczenie. Domylnie adne ostrzeenie nie jest drukowane,
a I<-w> albo I<--warning> su wymuszeniu takiego ostrzaenia.
Komrki nagwkowe mog by zdefiniowane za pomoc regex'w :
((1,*))
Nie byo to moliwe z B<wwwtable>.
Liczniki pozycji na osiach s 100%-owo niezalene. Wynika z tego e kod :
(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,=)
Co
umieci Co w 3ciej kolumnie. Jeli chcesz, by byo w 1wszej, napisz :
(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,1)
Co
albo
(*,) width=30
(*,+) width=35
(*,+) width=40
(=,1)
Co
W B<freetable> 2.0 zostay wprowadzone dwie nowe metody adresowania
komrek. S cakowicie niezgodne z B<wwwtable>.
=head1 BUGS
Adres typu "Dowolny Kod Perl" moe nie dziaa ze skomplikowanym kodem.
=head1 ZOBACZ RWNIE
B<m4(1)>
=head1 AUTOR
Tomasz Wegrzanowski <taw@users.sourceforge.net>
(zarwno angielska jak i polska wersja)
=cut
|