SaCzech-U: N vod k pou‘it¡

SaCzech-U se skl d  ze skupiny jedno£‡elov˜ch konverzn¡ch program–. Ka‘d˜ z nich p©ekl d  dokument ze v¨ech implementovan˜ch v˜choz¡ch k¢du do jednoho k¢du c¡lov‚ho, jeho‘ jm‚no je sou‡ st¡ jm‚na programu. €leny rodiny SaCzech-U tedy jsou toASCII.cgi, toCP1250.cgi, toKEYBCS2.cgi, toMAC.cgi, atd. (t‚‘ zvan‚ ascii.cgi, 1250.cgi, kam.cgi, mac.cgi, atd.). Tyto programy p©edpokl daj¡, ‘e budou spu¨tˆny jako CGI skripty a vyu‘¡vaj¡ p©¡slu¨n‚ promˆnn‚ prost©ed¡. Nelze je spou¨tˆt samostatnˆ (alespo¤ ne jednodu¨e).

Obsah:

Z klady - URL str nky

Str nku napi¨te v jednom z osmibitov˜ch k¢du, kter‚ SaCzech-U zn , nejl‚pe samoz©ejmˆ v k¢du, kter˜ byl V mi (nebo spr vcem serveru) p©i instalaci definov n pomoc¡ promˆnn‚ $source jako k¢d implicitn¡, proto‘e se p©edpokl d , ‘e bude pou‘it ve vˆt¨inˆ dokument–. Vystavte ji, jak je obvykl‚. Jedin‚, co se zmˆn¡, bude URL, kter˜m je t©eba se odk zat na str nku. Jestli‘e URL str nky bez p©ek¢dov n¡ by bylo
http://www.kdesi.ca/user/cesta/stranka.html
bude URL t‚‘e str nky p©i po‘adavku jej¡ho p©ek¢dov n¡ do sedmibitov‚ho ASCII nap©.
http://www.kdesi.ca/user/cgi-bin/ascii.cgi/cesta/stranka.html
P©edpokl d m, ‘e URL cesta ke k¢duj¡c¡m skript–m je http://www.kdesi.ca/user/cgi-bin. M–‘ete pou‘¡t libovoln˜ ze skript– toXXX[.cgi]. nebo yyy[.cgi] (kde XXX ‡i yyy jsou jm‚na k¢d– popsan  v p©edchoz¡ch kapitol ch). Pokud cesta ke k¢duj¡c¡m skript–m je http://www.jinde.cz/cgi-bin (glob ln¡ CGI adres © serveru), bude URL po‘aduj¡c¡ p©ek¢dovanou str nku m¡t tvar:
http://www.jinde.cz/cgi-bin/ascii.cgi/user/cesta/stranka.html

Odkazy tohoto typu v¨ak p©edpokl d j¡, ‘e p©edem v¡te, jak˜ k¢d bude u‘ivatel vy‘adovat. To ‡asto nemus¡ b˜t pravda. V takov‚m p©¡padˆ doporu‡uji pou‘¡t skript whichcode[.cgi] a URL

http://www.kdesi.ca/user/cgi-bin/whichcode.cgi/cesta/stranka.html
p©¡padnˆ
http://www.jinde.cz/cgi-bin/whichcode.cgi/user/cesta/stranka.html
Skript whichcode u‘ivateli ozn m¡, ‘e c¡lov˜ dokument obsahuje diakritick  znam‚nka a umo‘n¡ mu zvolit k¢d, kter˜ pova‘uje za optim ln¡.

Zachov n¡ k¢du p©i odkazech

Je p©irozen˜m po‘adavkem, aby u‘ivatel vyb¡ral k¢d jen jednou a p©i odkazech na dal¨¡ dokumenty z t‚ho‘ zdroje se uchov vala informace o zvolen‚m k¢dov n¡. Nejjednodu¨¨¡ cestou je relativn¡ odkaz. Kdy‘ do dokumentu vlo‘¡te odkaz pomoc¡ zna‡ky
<A HREF="kapitola1.html">Prvn¡ kapitola</A>
klient p©epracuje relativn¡ URL kapitola1.html na absolutn¡. Vyjde p©itom z URL dokumentu, obsahuj¡c¡ho zna‡ku. Pokud bylo p–vodn¡ URL dokumentu nap©¡klad http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/obsah.html, povede zm¡nˆn˜ odkaz k dokumentu http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/kapitola1.html. Informace o k¢du byla zachov na.

Pozor! Chcete-li vyu‘¡vat pro uchov n¡ k¢du relativn¡ odkazy, nesm¡te v dokumentu pou‘¡t zna‡ku <BASE>, kter  ur‡uje z kladn¡ URL dokumentu. Kdybyste ji pou‘ili, budou v¨echna relativn¡ URL vzta‘ena k lok toru, definovan‚mu touto zna‡kou, nikoli k URL, pod kter˜m klient z¡skal str nku.

Absolutn¡ odkazy je t©eba ©e¨it jinak. Tady pou‘¡v  SaCzech(-U) metodu podobnou programu WWWdia. Do textu m–‘ete na kter‚koli m¡sto (v‡etnˆ cest) vlo‘it ©etˆzec

__CHARSET__
K¢duj¡c¡ skript nahrad¡ ka‘d˜ v˜skyt tohoto ©etˆzce identifikac¡ k¢du, do kter‚ho pr vˆ p©ev d¡ str nku. Pokud se tento ©etˆzec vyskytuje ve spojen¡ to__CHARSET__ nebo charset=__CHARSET__, je v‘dy nahra‘en jm‚nem k¢du u‘¡van˜m v programu WWWdia (a p–vodn¡m SaCzechu), ve v¨ech ostatn¡ch p©¡padech bude nahra‘en jm‚nem EUnet modulu pro stejn˜ k¢d. Proto m–‘ete v textu pou‘¡t zna‡ku
<A HREF="http://www.jinde.cz/cgi-bin/to__CHARSET__/jinacesta/str.html">odkaz</A>
Pokud str nka projde skriptem toKEYBCS2, kter˜ ji p©evede do k¢du KEYBCS2, bude v odeslan‚m dokumentu v t‚to zna‡ce uvedeno URL
<A HREF="http://www.saczechserver.cz/cgi-bin/toKEYBCS2/jinacesta/str.html">odkaz</A>
P©edpokl d m, ‘e server, ur‡en˜ t¡mto absolutn¡m URL, m  instalov n SaCzech-U. M–‘e, ale nemus¡ se jednat o tent˜‘ server, kter˜ poskytl p–vodn¡ dokument. Stejnˆ je zvl dnut i odkaz na str nku v pravomoci WWWdia, pou‘ijete-li pro tento odkaz URL
<A HREF="http://www.diaserver.cz/cgi-bin/charset/jestecesta/str.html?charset=__CHARSET__">odkaz</A>
Stejn˜ skript toKEYBCS2 z rodiny SaCzech-U nav¡c zvl dne na t‚‘e str nce i pou‘it¡ zna‡ky
<a href="http://pes.eunet.cz/__CHARSET__">odkaz</A>
V odeslan‚m dokumentu se v tom p©¡padˆ objev¡
<a href="http://pes.eunet.cz/kam">odkaz</A>
Schopnost automaticky zachov vat k¢d p©i kontaktu s co nejvˆt¨¡m po‡tem server– st la za n padem zav‚st podporu alternativn¡ch jmen k¢du v programu SaCzech-U. Probl‚mem ale je, ‘e server vˆt¨inou nev¡ co m  dˆlat s ‘ dost¡ typu <a href="http://pes.eunet.cz/__CHARSET__">, kdy‘ v˜¨e uveden  str nka n hodou neprojde ‘ dn˜m konverzn¡m skriptem. Nev¡ to dokonce i nˆkter‚ servery, kter‚ pou‘¡vaj¡ SaCzech a na nich‘ bylo z©ejmˆ opomenuto zav‚st synonyma doporu‡en  pro to__CHARSET__.cgi. K tomu nav¡c existuj¡ i moduly se jm‚ny k¢d–, kter‚ se li¨¡ od jmen EUnetu, tak‘e dvˆ sady jmen k¢d– na v¨echno stejnˆ nesta‡¡.

Obr zky se nek¢duj¡!

SaCzech(-U) je selektivn¡. K¢duje jen soubory s ur‡it˜mi p©¡ponami (implicitnˆ .html, .htm a .txt; jak je zmˆnit se do‡tete v kapitole Pod kapotou v dokumentaci p–vodn¡ho programu SaCzech). Dostane-li k p©ek¢dov n¡ soubor s jinou p©¡ponou, odm¡tne se akce £‡astnit a p©esmˆruje klienta p©¡mo na doty‡n˜ soubor. D–sledkem je, ‘e klient z¡sk  soubor v p–vodn¡m tvaru beze zmˆny k¢dov n¡.

D¡ky tomuto mechanismu m–‘ete na sv‚ str nky vkl dat relativn¡ odkazy na obr zky, zvuky a dal¨¡ druhy dat, kter˜m by p©ek¢dov n¡ rozhodnˆ neprospˆlo.

Jestli‘e se na str nce vyskytne zna‡ka

<IMG SRC="obraz.gif">
a URL str nky je http://www.kdesi.cz/cgi-bin/toASCII/cesta/stranka.html, bude klient po serveru po‘adovat http://www.kdesi.cz/cgi-bin/toASCII/cesta/obraz.gif. Server spust¡ skript toASCII. Ten v¨ak zjist¡, ‘e je po nˆm po‘adov no k¢dov n¡ souboru s p©¡ponou .gif. M¡sto aby se pustil do d¡la, odpov¡ klientovi "hele s t¡mhle j  nechci nic m¡t, vezmi si rovnou ten soubor". Klient si ho vezme a v¨e funguje k pln‚ spokojenosti v¨ech z£‡astnˆn˜ch.

Zmˆna v˜choz¡ho k¢du

Implicitn¡ v˜choz¡ k¢d, ve kter‚m budou ps ny dokumenty si ur‡¡te p©i instalaci program– SaCzech-U. Mˆlo by se jednat o k¢d, ve kter‚m bude vytv ©ena vˆt¨ina str nek (nejl‚pe v¨echny). Pokud autor pou‘¡v  i k¢d jin˜, m  dvˆ mo‘nosti:
P©ev‚st str nku do implicitn¡ho k¢du.
To je m‚nˆ pohodln‚ a nav¡c to komplikuje pozdˆj¨¡ £pravy na str nce (ka‘d  £prava bude vy‘adovat nov‚ p©ek¢dov n¡ - SaCzech-U to ale usnad¤uje, je mo‘no ho pou‘¡vat k rychl‚ a snadn‚ konverzi dokument– mezi dvˆma k¢dy obˆma smˆry mezi jednotliv˜mi £pravami - viz dal¨¡ odstavec).
Ponechat str nku v k¢du p–vodn¡m a vyzna‡it jej.
K vyzna‡en¡ p–vodn¡ho k¢du dokumentu se pou‘¡v  HTML koment © v p©esnˆ definovan‚m tvaru
<!--MYCHARSET=k¢d-->
Nap©¡klad <!--MYCHARSET=CP1250-->. Po‡¡naje © dkem, obsahuj¡c¡m tento koment © (doporu‡uji jej uv‚st na samostatn‚m © dku na za‡ tku dokumentu), bude za v˜choz¡ k¢d dokumentu pova‘ov n k¢d CP1250. SaCzech-U bˆhem konverze nevkl d  do v˜sledn‚ho dokumentu p–vodn¡ koment ©e typu <!--MYCHARSET=k¢d-->, proto‘e ji‘ neplat¡, a m¡sto nich vlo‘¡ na jeho £pln˜ po‡ tek koment © s vyzna‡en¡m k¢du do nˆho‘ je dokument p©ekl d n. Po ulo‘en¡ pak nen¡ pochyby v jak‚m k¢du je dan  kopie dokumentu zaps na. Je mo‘no pak pokra‡ovat v upravov n¡ dokumentu v nov‚m k¢du.
Dokonce m–‘ete pou‘¡vat nˆkolik r–zn˜ch k¢d– v jednom dokumentu. Jestli‘e je prvn¡ polovina textu ps na v k¢du Kamenick˜ch a druh  v MS-Windows, sta‡¡ p©ed ka‘dou ‡ st vlo‘it p©¡slu¨n˜ koment © a v˜sledek bude u‘ivateli odesl n ve spr vn‚ podobˆ - obˆ poloviny se korektnˆ p©ek¢duj¡ nap©¡klad do ISO Latin 2. Takov‚ dokumenty je sice mo‘no pova‘ovat za zvˆrstvo, ale ta mo‘nost tu je. SaCzech-U ji ov¨em ‡in¡ naprosto zbyte‡nou jak vysvˆtleno v˜¨e.

Pro milovn¡ky patologick˜ch p©¡pad–:

Nab¡dka k¢d–

€asto je vhodn‚ nab¡dnout u‘ivateli p©¡mo na str nce mo‘nost zmˆny k¢du t‚to str nky. Nechce-li autor tuto nab¡dku konstruovat ru‡nˆ, m–‘e SaCzech-U instruovat, aby ji vytvo©il automaticky. Na p©¡slu¨n‚ m¡sto str nky vlo‘te HTML koment ©
<!--BAR-->
SaCzech-U jej bˆhem zpracov n¡ textu nahrad¡ nab¡dkou mo‘n˜ch k¢d–, do kter˜ch lze str nku p©ev‚st. žiƒte se podobn˜mi pravidly, jako v p©¡padˆ MYCHARSET - v koment ©i neuv dˆjte nic jin‚ho.

Chcete-li, aby nab¡dka k¢d– byla nadeps na anglicky (nap©. na anglick‚ str nce, kter  obsahuje ‡esk  jm‚na), pou‘ijte koment ©

<!--BAR E-->

Pokud uvedete na jednom © dku v¡ce ne‘ jeden koment © <!--BAR --> nebo <!--BAR E-->, SaCzech-U vygeneruje jen jednu nab¡dku podle prvn¡ho koment ©e a v¨echny ostatn¡ ignoruje. Aby se zamezilo opakovan‚mu generov n¡ nab¡dek p©i opˆtovn‚m pou‘it¡ konvertovan‚ho dokumentu, SaCzech-U nep©ekop¡ruje ani koment ©e typu BAR do odes¡lan‚ho dokumentu, p©ed ka‘dou nab¡dkou ale vyp¡¨e pozmˆnˆn˜ koment © upozor¤uj¡c¡ na to, ‘e byla vygenerovan  automaticky.

SaCzech-U a CGI

Aby mohl spolupracovat s CGI skripty a mˆnit k¢d jejich v˜sledk– je t©eba SaCzech-U instalovat tak, aby k¢dovan‚ dokumenty z¡sk val metodou http (ka‘d˜ dokument z¡sk v  od serveru protokolem HTTP) nebo guess (sna‘¡ se uh dnout, co je oby‡ejn˜ soubor a co vol n¡ CGI skriptu, ve druh‚m p©¡padˆ opˆt s hne k protokolu HTTP). Podrobnosti se do‡tete v kapitole o instalaci.

Provedl jsem i v¨echny zmˆny v souboru enchttp.tpl, kter‚ byly pot©ebn‚ pro podporu metody http p©i instalaci SaCzech-U v soukrom‚m adres ©i u‘ivatele. Zd  se, ‘e v˜sledn˜ k¢d funguje spr vnˆ, nemˆl jsem ale zat¡m mo‘nost ho dosta‡nˆ otestovat.

Zachov n¡ k¢du v obr zc¡ch s klikou. Tipy, triky, rizika

Pros¡m, obraŸte se p©¡mo na dokumentaci p–vodn¡ho programu SaCzech.