dnl
dnl makra pro praci s html
dnl
dnl
dnl konvece: _prikaz je nejaky prikaz zerouci nejake argumenty
dnl __var je neco co se suse vyexpanduje (vzdy stejne)
dnl
dnl promene a fce
dnl
dnl _title(.) -- titulek a hlavicka html
dnl _titleh(.) -- titulek a hlavicka html + _h()
dnl _background(.) -- obrazek pozadi (nutno pred _title)
dnl _head_add(.) -- prida do hlavicky (
..) veci
dnl nutno pouzit jeste pred _title()
dnl _h() -- zopakuje nazev titulku do
...
dnl
dnl _redirect(url, title) -- dnl redirect this page somewre
dnl _url(.) -- odkaz na url URL
dnl _uri(.) -- jako _url ale lokalne, prida index.html, kdyz treba
dnl _mailto(.) -- odkaz na mail MAIL
dnl _antispam(.) -- . -> 'tecka', @ -> zavinac
dnl
dnl _setyes(.) -- nastavi promenou na yes
dnl _setno(.) -- nastavi promenou na no
dnl _ifyes(__prom,2,3) -- pokud je __prom yes vyexpanduje se 2, jinak 3
dnl
dnl _defadd(.,.) -- pridefinuj k promene $1 jeste string $2
dnl
dnl __bodyarg -- behem title se vlozi viz _background
dnl __keywords -- keywordy stranky (da se do meta)
dnl __shorcut_icon -- ikona stranek, (nektere prohlizece zobrazuji).
dnl __description -- nazev pri nalezeni prohledavacem
dnl __bottom -- paticka
dnl __acces -- ? vlozit pocitadlo do paticky
dnl __oprava -- ? vlozit odkaz na oravu do paticky
dnl
dnl __jn jmeno souboru index.html
dnl __jn_wo_ext jmeno souboru bez pripony index
dnl __jn_pr jmeno pro tisk pokud exisutje index.print.html
dnl __jn_orig jmeno souboru na jehoz zaklade (tj. bez .printing)
dnl
dnl _ifpr(true,else) vyprocesi pouze pokud jde o verzi pro tisk
dnl _ifnopr(true,else) vyprocesi pouze pokud nejde o verzi pro tisk
dnl _ifprex(true,else) vyprocesi pouze pokud existuje verze pro tisk
dnl (a zaroven nejde o verzi o tisk)
dnl
dnl dokument ma structuru:
dnl
dnl ,
dnl | $1 ....
dnl |
dnl | __page_preambule -- co obaluje vlastni stranku (tabulka)
dnl ` _mark
dnl
dnl vlastni text il2
dnl ,
dnl | __page_postamble -- uzavreni preabule
dnl __bottom < __back --
dnl | __heel ... v patice je __bot_img
dnl `
dnl
dnl drobne utilitky
dnl
dnl _obs(txt, tag)
define({__bottom},{})})
dnl _defadd({_prom}, text)
dnl pridefinuj k promene _prom jeste string 'text'
dnl
define({_defadd}, {define({$1}, $1{$2})})
dnl.
dnl __bodyarg()
dnl
dnl to co se da do (viz _background)
dnl
define({__bodyarg}, {})
dnl
dnl pozadi.zpusobi . muzi byt volano pred _title
dnl
define({_background}, {define({__bodyarg}, BACKGROUND="$1")})
dnl
dnl zacatek html (tedy ne jen title) az po
dnl
dnl.
dnl _safe_tilda(url-nebo-txt) -- nahradi ~ za &^ cimz ji uchrani pred
dnl nahrazeni nezalomietlnou mezerou (coz se jinak deje). ve vysledku
dnl bude tilda jak ma byt.
define({_safe_tilda}, {patsubst($1, ~, &^)})
dnl.
dnl _url(url) at se to nemusi psat dvakrat
dnl
define({_url}, {ifelse($2,,_safe_tilda($1),$2)})
dnl.
dnl _uri(url) at se to nemusi psat dvakrat
dnl zrelativni odkaz pokud je absolutni (/neco/kuk/ahoj.html)
dnl a za ahoj/ prida index.html pokdu je to potreba (tj. _cd_version)
dnl
define({_uri}, {ifelse($2,,$1,$2)})
dnl.
dnl _href(url-nebo-uri) pokud jde o odkaz ven (http://...)
dnl necha jak je. pokud je relativni pouzije _rel($1)
dnl
define({_href},
{ifelse(patsubst($1, ^http://.*$),,{$1},
{_rel($1)})})
dnl.
dnl _if_http(url, true, false) pokud $1 =~ http provede se prvni vetev
dnl
define({_if_http}, {ifelse(patsubst($1, ^http://.*$),, {$1}, {$2})})
dnl.
dnl _mailto(email [, real name]) at se to nemusi psat dvakrat
dnl 'real name' text okazu (ne-li: email)
dnl
define({_mailto}, {$1})
dnl.
dnl _mailto_antispam(email [, real name]) at se to nemusi psat dvakrat
dnl podobne jako _mailto, ale udela z emailu obrazek.
dnl
define({_mailto_antispam},
{dnl
define({__email_png}, translit(translit($1, { _.@}, ____),_,-).png)
syscmd(__hpplib/email-to-img.sh -one "$1" _rel(__mail_img_dir))
ifelse($2,,$2)})
define({_mailto_antispam},
{dnl
define({__email_png}, translit(translit($1, { _.@}, ____),_,-).png)
syscmd(__hpplib/email-to-img.sh -one "$1" _rel(__mail_img_dir))
ifelse($2,,$2)})
define({__mail_img_dir}, /img/mail/)
dnl.
dnl _antispam(email) zamlzi email . -> 'tecka', @ -> zavinac
dnl
define({_antispam},
{patsubst(patsubst($1, \., { tečka }), @, { zavináč })})
dnl.
dnl _h([head]) nazev dokumentu v