WebGen
12. srpna 2012
Můj vlastní generátor statických webových stránek, napsaný v PHP a spouštěný z příkazové řádky.
Jeho předností v nejnovější verzi je nejen podpora značkovacího jazyka Texy!, ale i možnost využít výhody úžasného šablonovacího systému Latte.
Příklad použití
Z repozitáře si stáhneme
nejnovější verzi zdrojového kódu a rozbalíme do adresáře dle libosti.
Součástí zdrojového kódu je i adresář s příkladem. Přejdeme proto do
složky example
. Zde vidíme tři položky:
- složku
input
– ta obsahuje zdrojové soubory (soubory Texy! a Latte) - soubor
@layout.latte
– obsahuje Latte šablonu layoutu - a nakonec nepovinný soubor
config.neon
, který obsahuje konfiguraci pro generátor
Teď si složku
example
otevřeme v terminálu/příkazové řádce, např.
nějak takto:
cd example
A spustíme náš generátor:
php -f /cesta/k/souboru/webgen.phpc
A nic
se nestane :) Jenom dojde k vypsání některých informací (verze
generátoru, přípustné parametry). Je to taková bezpečnostní pojistka, aby
nechtěně nedošlo ke spuštění generátoru. Pokud si jsme opravdu jisti, že
chceme generování spustit (a my jsme :), přidáme k příkazu ještě
parametr --run
:
php -f cesta/k/webgen.phpc -- --run
Poznámka:
ke spuštění generátoru můžeme využít předpřipravený BASH skript
(naleznete ho ve složce bin
). Stačí si skript otevřít
v textovém editoru, upravit cestu k souboru webgen.phpc
na
posledním řádku, uložit skript a nakonec ho nakopírovat do některé
složky, která je uvedena v systémové proměnné PATH. Na Ubuntu lze např.
použít předpřipravenou složku ~/bin
. Poté budeme schopni
spouštět generátor pouhým příkazem
webgen --run
.
Spustili jsme tedy generátor a pokud nám štěstí přálo, nevypsal žádnou chybu :)
Ve složce
example
se nám nyní objevil nový soubor
lastBuild.dat
a adresář output
obsahující
jednotlivé vygenerované verze našich stránek. WebGen negeneruje vždy
všechny soubory znovu, ale řídí se právě údajem v souboru
lastBuild.dat
, takže při dalším spuštění vygeneruje jenom
opravdu změněné soubory. Pokud chceme přegenerovat všechny soubory, aniž
by se generátor řídil souborem lastBuild.dat
, můžeme použít
parametr --force
, nebo tento soubor smazat.
Nyní už jenom stačí nahrát danou verzi na web, např. pomocí FTP. A je to :)