Tak a je to tu zase. Překopal jsem celou fotogalerii. Nejdříve jsem myslel, že NextGEN gallery (plugin do wordpressu) mi bude vyhovovat, ale po několika měsících jsem přišel na to, že to byl omyl. Mnoha lidem tato galerie (a další ji podobné) určitě vyhovuje, ale na mě byl proces vkládání obrázků moc složitý. Když jsem chtěl vložit fotku do galerie, musel jsem ji v editoru upravit (zmenšit, přidat rámeček), otevřít administraci wordpressu a novou fotku tam vložit do určité galerie. To je pro mě prostě moc složité a vedlo to k tomu, že v galerii nepřibývaly žádné nové fotky.

Rozhodl jsem se, že to chce změnu. Využil jsem teď volného času (měl jsem několik dní nemocenskou) a začal jsem vymýšlet novou galerii. Nová galerie měla být jednoduše spravovatelná a taky by měla být co nejvíce zautomatizovaná. Hned jsem se chytl příležitosti a začal jsem se učit Python (celkem mě štvalo, že neumím žádný skriptovací jazyk). Po třech dnech učení vznikl jednoduchý skript, který za mě udělá téměř všechnu práci s galerií. Pro inspiraci popíšu, jak to teď funguje:

  • V XML souboru mám v přehledné struktuře uloženy fotky rozdělené do alb. Každé album má své jméno a může obsahovat fotky. Každá fotka obsahuje název fotky a datum pořízení (pro kontrolu, jestli se jedná opravdu o požadovanou fotku). Já pracuju pouze s tímto souborem a galerii tvořím pomocí tohoto XML souboru.
  • Skript tento soubor zpracuje a začne jednotlivé fotky vyhledávat ve vybraném adresáři (v adresáři, kde mám uloženy všechny fotky)
  • Až fotku nalezne, použije na ni některé úpravy (aktuálně pouze zmenšení a přidání rámečku)
  • Upravenou fotku uloží(s vybranou kvalitou) do dočasného adresáře na disku
  • Až jsou všechny fotky zpracované, začne je posílat na FTP server

To je vše. O zobrazení fotek se poté stará Minishowcase gallerie, která zobrazuje fotky přímo z daného umístění na FTP. To znamená, že webová galerie je pouze nástroj na zobrazení mých fotek. Pokud budu chtít použít pro zobrazení galerie něco jiného, stačí najít už fungující aplikaci, která bude zobrazovat fotky z daného umístění.

Krása toho všeho je ta automatizace. Pokaždé, když budu měnit galerii (její strukturu, nebo fotky v ni umístěné), stačí upravit jeden soubor a spustit skript. Navíc mám fotky uložené pouze jako originály (plus to co mám vygenerované na webu), takže když provedu změny na původních fotkách, změny se poté projeví i v galerii na webu.

Zní to jednoduše, zní to krásně a hlavně to funguje. Bohužel je to jen narychlo splácaný kus kódu, takže to není určene pro veřejnost. Tohle řešení mě ale dost zaujalo, proto jsem si přidal do seznamů plánovaných projektů i tento generátor galerie. Chce to ale kompletně překopat, přidat tomu nějaké to GUI a umožnit jednoduchou konfiguraci. Ještě by to chtělo umět PHP(teda ne že by to byl problém, ale do webového vývoje se mi moc nechce) a mohl bych k tomu dodělat i nějaký ten zobrazovač galerie. No uvidíme, třeba z toho vznikne nějaké komplexní řešení :)

Další články zde na webu: