Linux E X P R E S

Facebook

Hezká webová galerie snadno a rychle

galerie.jpg

Existuje mnoho způsobů, jak vytvořit webovou galerii. Některé galerie vypadají hezky, ale jejich vytváření a správa jsou pracné. Jiné se sice snadno obsluhují, ale o to jednodušeji vypadají. Chcete hezkou flashovou webovou galerii fotek během chvilky a pomocí jednoho skriptu?


Lidé, kteří mě znají, ví, že mimo jiné moc rád fotím. O kvalitě zde mluvit nechci a nebudu, ale baví mě to. Po celodenní procházce mám obvykle kolem 60 až 90 snímků, přičemž po prohlídce v počítači jsou takové dvě třetiny promazány (víc fotek stejné věci s trochu jinými parametry). Na zpracování mi tak zbývá asi 20 až 30 fotek. Tato činnost bohužel asi automatizovat nejde.

Jakmile mám hotovo, čeká mě práce nejhorší: uveřejnění fotek na internetu. Tedy čeká... čekala. Dlouho jsem hledal galerii, která by se mi líbila, byla jednoduchá a přehledná, ovšem i po vizuální stránce co nejhezčí. Prve jsem to řešil jednoduše: nijak. Fotky jsem uveřejňoval v seznamu odkazovaných fotek na svých školních stránkách na physics.muni.cz. Když jsem si zřídil blog, uveřejňoval jsem fotky tam.

Ovšem jsem od přírody líný člověk, takže jsem chtěl ještě něco jednoduššího na používání, resp. něco, co udělá práci samo. Nakonec jsem našel věc, která se jmenuje SimpleViewer. Vzal jsem tamní engine a nad tím pomocí skriptu vytvořil celkem robustní nástroj pro generování galerií. Tu nejnovější jsem zmínil na svém blogu.

Galerie SimpleViewerGalerie SimpleViewer

Co je tedy nutné udělat, abyste měli taky takovou galerii? První možnost je stáhnout si ze stránek projektu SimpleViewer zip archiv se systémem, projít si dokumentaci a poté již "jen" ručně přepsat fotografie do xml souboru spolu s informacemi, které byste rádi uveřejnili.

Druhá možnost je využít engine SimpleVieweru a nad něj použít skript gengal.sh, který největší část rutiny přebere za vás. Skript si můžete stáhnout, přidat mu příznak spustitelnosti a jako root jej nahrát do /usr/local/bin/. Je to možné udělat v terminále velice jednoduše:

wget http://physics.muni.cz/~petos/other/linux/gengal.sh
chmod +x gengal.sh
su -c "mv gengal.sh /usr/local/bin/gengal.sh"

Uživatelé, kteří používají sudo (například v Ubuntu), v posledním příkazu místo su -c napíší sudo.

Pro chod programu je třeba doinstalovat tyto balíčky imagemagic a wget, které na 99 % již v systému máte, a geeqie, které asi nemáte, ale je v mém repozitáři (pouze pro Mandriva Linux 2009 32bit) a nakonec jhead, který v mém repozitáři není, ale je v oficiálních repozitářích Mandriva Linuxu (nebo libovolné jiné distribuce).

Balíček geeqie se nachází v oficiálních repozitářích Debianu i Ubuntu. Skript lze samozřejmě upravit a místo Geeqie použít jiný obrázkový prohlížeč.

Tyto tři příkazy stačí k nainstalování skriptu do počítače. Počítá se s tím, že při tvorbě galerie bude počítač připojen k internetu, neboť engine je uložen na mém serveru a stahován při generování galerie.

Nyní je třeba vybrat fotky, které máte v plánu uveřejnit na netu a nahrát do jednoho adresáře. Adresář s fotkami si otevřete v terminálu. Nyní stačí napsat gengal.sh a potvrdit klávesou [Enter].

Psal jsem skript tak, že běží pouze s jpg soubory, ale jednoduchá úprava povede k zobrazení jpeg souborů či png souborů. Jpg používám pro jednoduchý a přehledný Exif, který png nemá a nepovedlo se mi vyextrahovat z png 'Exifu' čas pořízení fotografie, což jpg umí...

Skript si překontroluje přítomnost dvou souborů s enginem a případně si vyžádá jejich stažení z internetu. Oba soubory potvrdíte klávesou [Enter], čímž je stáhnete. Jedná se o soubor galerie.js a galerie.swf. Právě tyto soubory obsahují engine, který všechno řídí. Aby gengal.sh fungoval, je třeba, aby se tyto soubory nacházely ve stejném adresáři jako fotky. Chcete-li se tedy vyhnout kopírování souborů z internetu, stačí je před spuštěním gengal.sh k fotkám přikopírovat odněkud z disku, popř. poupravit skript tak, aby soubory kopíroval z místa na disku.

Po případném stažení souborů skript vypíše jména souborů, které budou zahrnuty do galerie. Systém se snaží být ale alespoň trochu inteligentní a nabídne několik možností. Nejčastěji budete tyto volby ignorovat a stisknete rovnou [Enter].

  • Stisknete-li [a], jména se automaticky upraví dle vzoru: jmeno-adresare_cislo.jpg. Funguje pouze tehdy, máte-li pojmenovávání fotek ve stylu fotoaparátů Canon: XYZ_1234.jpg; tedy cokoli_cisla.jpg. Podstatné je tam ono (pouze jedno) spodní podtržítko a pak čísla a přípona. Pokud nemáte tento systém pojmenovávání souborů z foťáku, tuto volbu nepoužívejte!
  • Stiskem klávesy [f] se skript bude chovat tak, ze přejmenuje fotky podle vzoru: jmeno-adresare_puvodni-jmeno-fotky.jpg.
  • Stisknete-li [g], spustí se Geeqie a je možné jméno upravit ručně.
  • Stisknete-li [k] nebo [Ctrl+c], skript se ukončí a je možné upravit seznam fotografií mimo tento program.
  • Stiskem libovolné jiné klávesy bude pokračovat generovaní galerie dál.

Posledním interaktivním prvkem je zde pojmenování galerie:

Galerie se bude jmenovat excalibur. Prejete-li si jine jmeno, napiste jej. V opacnem pripade stisknete enter.

Nyní stačí napsat jméno galerie. Systém bere i češtinu popř. mezery. V případě, že se nacházíte v adresáři, jehož název odpovídá jménu galerie, stačí nechat prázdné - je důležité, aby tam nebyla ani mezera, aby pole zůstalo opravdu prázdné. Toto je poslední krok. Systém nyní vezme abecedně řazené snímky, naskládá je do galerie, upraví, z Exif informací vytáhne vše potřebné a sestaví galerii.

Nyní si můžete ve svém oblíbeném textovém editoru (Geany, Gedit, Kate, cokoli) upravit soubor gallery.xml: V tagu <caption> je uveden popis, který se bude u fotky zobrazovat, defaultně tam jsou právě informace ISO ekvivalent, Uzávěrka a Clona. Možné dopsat libovolné další.

Všem přeji hodně pěkných fotek a uvítám případné nápady či připomínky - nejlépe v diskusi pod článkem.

Pokud nejsou skripty dostupné, můžete si stáhnout verzi z našeho úložiště: Hezká webová galerie snadno a rychle

Diskuze (1) Nahoru