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.