PPWizard - tvo°φme a spravujeme WWW strßnky
PPWizard je preprocesor, kter² vßm usnadnφ tvorbu a hlavn∞ sprßvu WWW strßnek. Umo₧≥uje centralizaci sdφlen²ch Φßstφ, jako jsou loga, navigaΦnφ menu nebo emailovΘ adresy a hotovΘ WWW strßnky ·Φinn∞ komprimuje vypuÜt∞nφm p°ebyteΦn²ch mezer. Zpracovßvat s nφm lze nejen HTML dokumenty, ale i XML soubory, soubory s kaskßdov²mi styly, programovΘ k≤dy a jinΘ ASCII textovΘ soubory.
Internet je pln² Φlßnk∙ o HTML, CSS, textov²ch a grafick²ch editorech, ale Φlßnky o kompletovßnφ web∙, a₧ na ΦestnΘ v²jimky, zcela chybφ. Pravda, jazyku PHP je v∞novßno nepoΦφtanΘ mno₧stvφ serißl∙, ovÜem po jejich p°eΦtenφ zφskßvß Φtenß° pocit, ₧e se neobejde bez slo₧itΘho databßzovΘho programovßnφ, jeho₧ nezvlßdnutφ m∙₧e mφt katastrofick² vliv na stabilitu webovΘho serveru. Navφc je pro jednoduchΘ WWW strßnky preprocesor efektivn∞jÜφ i praktiΦt∞jÜφ. Produkuje statickΘ HTML strßnky, kterΘ tak nejsou zßvislΘ na webovΘm serveru a prohlφ₧et je lze i z pevnΘho nebo kompaktnφho disku.
PPWizard jsem nezvolil nßhodou. Jednak nenφ moc z Φeho vybφrat, ale hlavn∞ je PPWizard skuteΦnou jedniΦkou, kterß plnφ sv∙j ·kol s nefalÜovanou graciΘznostφ. Disponuje bohatou Ükßlou funkcφ a dφky tomu s nφm lze jednu v∞c tvo°it vφce zp∙soby. V²bornΘ takΘ je, ₧e pracuje na p°φkazovΘ °ßdce. M∙₧e tak b²t souΦßstφ dßvkov²ch soubor∙, kterΘ automatizujφ nejen tvorbu a generovßnφ WWW strßnek, ale i jejich upload na server.
Pot∞Üujφcφ je skuteΦnost, ₧e je PPWizard freeware. Australan Dennis Bareis jej p∙vodn∞ vytvo°il pro usnadn∞nφ svΘ vlastnφ prßce, ale pozd∞ji jej dal k dispozici i dalÜφm u₧ivatel∙m, za co₧ si zaslou₧φ nßÜ dφk.
Po₧adavky a instalace
PPWizard je naprogramovßn v jazyce REXX a je dodßvßn p°φmo ve zdrojovΘm k≤du. Nenφ nutnΘ jej kompilovat a provozovat jej m∙₧ete na ÜirokΘm spektru operaΦnφch systΘm∙, Windows ani Linux nevyjφmaje. StaΦφ si stßhnout p°φsluÜnou verzi interpretu jazyka REXX. Jß budu pro jednoduchost vysv∞tlovat instalaci i prßci na systΘmu Windows, p°iΦem₧ na dalÜφch operaΦnφch systΘmech lze p°edpoklßdat ekvivalenci.
V zßsad∞ existujφ t°i varianty postupu, jak instalovat PPWizard:
- Ze strßnek PPWizardu si stßhn∞te kompletnφ spustiteln² instalaΦnφ balφk pro Windows, kter² krom PPWizardu obsahuje i GNU interpret Regina jazyka REXX. Samotnou instalacφ se navφc integruje do kontextovΘho menu Windows Exploreru, vyvolßvanΘho prav²m tlaΦφtkem myÜi na typick²ch p°φponßch PPWizardu.
- Ze strßnek PPWizardu si stßhnete pouze samotn² PPWizard. Jde o mal² ZIP archiv o velikosti kolem 100 kB, kter² rozbalφte do libovolnΘho adresß°e. Pak si stßhnete interpret Regina jazyka REXX ve verzi podporovanΘ PPWizardem a nainstalujete jej. Nakonec si vytvo°φte dßvkov² soubor, kter² vßm umo₧nφ p°edat parametry projektu p°es p°φkazovou °ßdku PPWizardu a ten pak postoupit interpretu. Podrobnosti o dßvkov²ch operacφch jsou vÜak ji₧ nad rßmec tohoto Φlßnku.
- T°etφ mo₧nost pro vßs bude nejjednoduÜÜφ a proto vßm ji doporuΦuji. Stßhn∞te si p°edp°ipraven² archiv, kter² obsahuje v jednom balφku zdrojov² soubor PPWizardu, interpret Regina jazyka REXX a zdrojovΘ soubory malΘho ukßzkovΘho webu, ke kterΘmu se budu odvolßvat. PPWizard ani interpret Regina v tomto balφku nenφ t°eba instalovat. StaΦφ, kdy₧ jej rozbalφte do libovolnΘho prßzdnΘho adresß°e. Tφm instalace konΦφ. Jen dßvejte pozor, aby adresß°, Φi n∞kter² z nad°azen²ch adresß°∙, nem∞l v nßzvu mezeru Φi znak s diakritikou, proto₧e PPWizard mß p°i zpracovßnφ cest s t∞mito znaky problΘmy.
StruΦn² popis projektu
Myslφm, ₧e nejlΘpe se bude vysv∞tlovat PPWizard na praktickΘm p°φkladu. Proto se m∙₧ete rovnou pustit do prozkoumßvßnφ projektu. Cel² je ulo₧en v adresß°i "PPW". Souborem generuj.bat si zkuste webov² projekt vygenerovat.
Co se p°i generovßnφ d∞lo? PPWizard vlo₧il do ka₧dΘho zdrojovΘho souboru s p°φponou "it" obsah souboru macros.ih, samotn² obsah pak zpracoval a v²stup ulo₧il do v²stupnφho adresß°e "WEB" jako soubor s p°φponou HTML. PoslΘze do v²stupnφho adresß°e zkopφroval vÜechny soubory s p°φponou "css" a "jpg". Do adresß°e "TEMP" si ulo₧il informace o Φasech poslednφ editace zdrojov²ch soubor∙, aby p°φÜt∞ generoval pouze zm∞n∞nΘ soubory. Nastavenφ vÜech t∞chto parametr∙ je ulo₧eno v souboru project.ppw.
Soubor∙m, uklßdan²m na v²stup jako HTML, je vhodnΘ dßvat p°φponu "it". Technicky to nutnΘ nenφ, ale jde o dobrΘ doporuΦenφ. Stejn∞ tak soubor∙m, kterΘ chcete do "it" soubor∙ vklßdat (takzvan∞ "includovat"), p°i°azujte p°φponu "ih". V naÜem p°φkladu mßme jedin² takov² soubor macros.ih. Projekt je nastaven tak, aby se p°i zpracovßvßnφ vklßdal automaticky na zaΦßtek ka₧dΘho "it" souboru. V tomto souboru jsou ulo₧enΘ spoleΦnΘ deklarace, jako je hlaviΦka webu, menu, patiΦka, jmΘno a email autora a podobn∞.
Makra
V textovΘm editoru (nap°φklad v poznßmkovΘm bloku) si otev°ete soubor macros.ih a svoji pozornost zam∞°te hned na prvnφ °ßdek: #define myName Jan Bien. Tφm deklarujete jak²si pam∞¥ov² prostor, kter² se jmenuje myName
a obsahuje mΘ jmΘno. Nynφ p°esu≥te svou pozornost na p°edposlednφ °ßdek souboru index.it: <$myName>. Zde dojde, zjednoduÜen∞ °eΦeno, k vypsßnφ obsahu pam∞¥ovΘho prostoru myName
.
Mo₧nß vßs udivilo slovnφ spojenφ "pam∞¥ov² prostor" a vidφte v n∞m jen cosi, co programovacφ jazyky oznaΦujφ pojmem "prom∞nnß". Ve skuteΦnosti zde vÜak jde o n∞co vφce. V index.it p°ejd∞te na 12. °ßdek (<$subTitle text="Dolor sit">) a v macros.ih na #define subTitle <h2>{$text}</h2>. VÜimn∞te si, ₧e jsme pam∞¥ovΘmu prostoru subTitle
p°i vyvolßnφ p°edali navφc parametr "text" s hodnotou "Dolor sit". Pam∞¥ov² prostor dokß₧e tento parametr vyu₧φt odvolßnφm se na jmΘno parametru za znakem dolaru ve slo₧en²ch zßvorkßch ({$text}), Φφm₧ se zaΦφnß podobat jazykem programßtor∙ spφÜe jakΘsi procedu°e Φi funkci. V PPWizardu se tento pam∞¥ov² prostor naz²vß makro a tak i jß budu na dalÜφch °ßdcφch pou₧φvat prßv∞ tento termφn.
Nynφ vßm je ji₧ jist∞ jasn² i prvnφ a poslednφ °ßdek souboru, <$document title="Lorem ipsum"> a <$/document>. Makro document
vlo₧φ celou hlaviΦku webu vΦetn∞ navigace a makro /document
patiΦku a °ßdnΘ ukonΦenφ HTML souboru. V souboru macros.ih vßs vÜak Φekß p°ekvapenφ - definice makra je zde o n∞co slo₧it∞jÜφ, dokonce je vφce°ßdkovß:
#define document
definice makra document
na vφce °ßdcφch
#)
ZaΦßtek #( je na dalÜφm °ßdku nßsledovßn #define document. Ka₧d² dalÜφ °ßdek je ji₧ jednφm °ßdkem makra document
a₧ po ukonΦenφ definice na °ßdku #). Tajemnß konstrukce '<?NewLine>' urΦuje, jak mß makro zachßzet s konci °ßdk∙. Kdybyste tuto konstrukci u makra neuvedli, vlo₧ilo by se p°i vyvolßnφ celΘ do jednoho °ßdku.
K Φemu to je?
Myslφm, ₧e i z takto malΘho p°φkladu je vid∞t, jak efektivnφ PPWizard je. A je nejen efektivnφ, ale i velice mocn². NavÜtivte weby MraveniÜt∞ Φi Sova v sφti - v∞°te nebo ne, oba jsou tvo°eny kompletn∞ v PPWizardu!
Odkazy, zdroje
- Building Dynamic Web Sites Part 1 - Dennis Bareis (OS/2 e-Zine!, nedatovßno)
- Building Dynamic Web Sites Part 2 - Dennis Bareis (OS/2 e-Zine!, nedatovßno)
- Building Dynamic Web Sites Part 3 - Dennis Bareis (OS/2 e-Zine!, nedatovßno)
- Building Dynamic Web Sites Part 4 - Dennis Bareis (OS/2 e-Zine!, nedatovßno)
- Building Dynamic Web Sites Part 5 - Widgets & Macros - Dennis Bareis (OS/2 e-Zine!, 16. 2. 1999)
- HTML Preprocessor PPWizard
- PPWizard - univerzßlnφ preprocesor i pro HTML - Marek Prokop (Sova v sφti, 2. 3. 2002)