Interní dokumentace

Jak přidat fotky do galerie
jedním řádkem v configu

Galerie se už needituje v HTML. Fotku přidáš řádkem do souboru data/in/fotky/fotky.cfg a spustíš skript, který stránku složí a překontroluje.

Aktuální workflow (od června 2026) — shrnutí je i v rozcestníku _admin:
Nejjednodušší cesta — vyplnit fotky vizuálně (přes náhledy) Hodí se hlavně, když přidáváš víc fotek najednou. Podrobný ruční postup je v krocích 1–7 níže; tohle je zkratka přes pomocné skripty:
  1. Fotky nahraj do data/in/fotky/ (klidně do podadresářů, např. 2026/cerven/).
  2. tools/fotky-scan.sh — doplní nové fotky do fotky.cfg jako prázdné řádky cesta||.
  3. tools/fotky-html.py to-html — vytvoří data/in/fotky/fotky.html (tabulka s miniaturami, leží vedle fotky.cfg).
  4. Otevři fotky.html v SeaMonkey Composeru, vyplň sloupce Popisek a Hashtagy (žlutě = prázdné), ulož.
  5. tools/fotky-html.py to-cfg — zapíše popisky a hashtagy zpět do fotky.cfg (sloučí podle cesty, hlavičku i pořadí zachová, zálohu udělá do .bak).
  6. tools/galerie-build.sh — kontrola + složení galerie a hlavní stránky.

Obsah

  1. Jak to funguje (princip)
  2. Připrav fotku (velikost)
  3. Ulož do data/in/fotky/
  4. Vyber kategorii (slug)
  5. Přidej řádek do fotky.cfg
  6. Více kategorií najednou
  7. Spusť skript (galerie i homepage)
  8. Co skript hlídá a co neměnit
  9. Rychlý checklist

Galerie projektů (samostatná galerie)

  1. Co je galerie projektů
  2. Vytvoř složku galerie
  3. galerie.cfg a meta
  4. Přidej fotky (i sdílené)
  5. Slož galerii
  6. Kde se galerie objeví
  7. Pomocné skripty
  8. Checklist galerie projektů
i

Jak to funguje — princip

Stránka galerie.html se negeneruje ručně. Skládá se ze dvou částí:

Skript tools/galerie-build.sh z configu a šablon složí galerie.html i hlavní stránku index.html. Pro přidání nebo výměnu fotky tedy stačí upravit řádek v fotky.cfg a skript spustit — žádné HTML.

galerie.html i index.html needituj Oba soubory jsou generované — ruční změny v nich příští spuštění skriptu přepíše. Měň fotky.cfg (fotky) nebo šablony galerie-VZOR.html / index-VZOR.html (design/struktura).
1

Připrav fotku — velikost

Fotky v galerii se zobrazují v mřížce, ne na celou obrazovku. Originál z foťáku (klidně 7 MB) je zbytečně velký a zpomalil by web hlavně na mobilu.

Cílový formát Zmenši fotku na minimálně 1600 px, ideálně 2048 px na delší straně — po kliknutí se v galerii otevře zvětšená a menší by byla měkká. Ulož jako JPG (kvalita ~85 %); velikost vyjde zhruba 400–800 KB.

Pokud používáš vlastní úpravu (Lightroom, Photoshop…), exportuj rovnou na 1200 px. Jednorázově to zvládne i online nástroj na zmenšení obrázku.

Proč 1600–2048 px Po kliknutí se fotka v galerii otevře ve zvětšení (lightbox) skoro přes celou obrazovku — 1200 px by na velkých displejích bylo měkké. 2048 px na delší straně pokryje i velký monitor a přitom drží rozumnou velikost souboru.
2

Pojmenuj soubor a ulož do data/in/fotky/

Snímek ulož do zdrojové složky data/in/fotky/ (smí být i v podadresáři, např. 2026/cerven/fotka.jpg). Odtud ho build sám zkopíruje do web/stage/fotky/ — ručně do fotky/ nic nedávej.

Pojmenování Jen malá písmena bez diakritiky, slova oddělená pomlčkou, bez mezer.

aikido-trenink-2026.jpg
keramicka-dilna-ruce.jpg
Pozor Jakmile fotku nalinkuješ do galerie, soubor už nepřejmenovávej — jinak se obrázek přestane zobrazovat.
3

Vyber kategorii — hodnota data-cat

Každá fotka má atribut data-cat se slugem kategorie (krátký kód bez diakritiky). Podle něj galerie fotku zařadí pod správný filtr. Slug je shodný s hashtagem kategorie na hlavní stránce.

data-cat (slug) Kategorie
neviditelnypribehPříběh firmy a řemesla
nehranarodinaRodinné focení (děti)
svedeknereziserFotografická reportáž
esenceclovekaPřirozený portrét
nastopecasuGenerační focení
sdilenacestaKomunity a spolky
pametcasuDlouhodobý dokument
autorskediloAutorská tvorba
odlozenimaskyOsobní setkání
kdyzjsmespoluKdyž se rodina sejde (rodinné události)
Tip Slug si nemusíš pamatovat — stejný seznam je v hlavičce souboru data/in/fotky/fotky.cfg (komentář nahoře).
4

Přidej řádek do data/in/fotky/fotky.cfg

Tip: nemusíš psát ručně Cesty i vyplňování popisků/hashtagů zvládnou pomocné skripty — viz Nejjednodušší cesta (vyplnit vizuálně) nahoře. Ruční postup tady funguje pořád.

Otevři data/in/fotky/fotky.cfg a na konec (nebo kam chceš fotku v pořadí) přidej jeden řádek. Tři pole oddělená svislítkem |:

soubor.jpg|alt text|hashtag1 hashtag2 @umisteni

Příklad:

keramicka-dilna-ruce.jpg|Ruce hnětou hlínu na hrnčířském kruhu|neviditelnypribeh
Pořadí a komentáře Pořadí řádků = pořadí fotek v galerii i na hlavní stránce. Řádek začínající # je komentář (skript ho přeskočí), prázdné řádky nevadí.
Fotky na hlavní stránku — značky @umístění Za hashtagy můžeš přidat značky @, které řeknou, kde se fotka použije na index.html. Fotka jen se značkou @ (bez slugu kategorie) je jen na hl. stránce, v galerii se neukáže.
@umístěníMísto na hlavní stránce / počet fotek
@karuselhero karusel nahoře — ~4 fotky (jiný počet = varování, méně než 2 = chyba)
@nahledpruh „Výběr z portfolia" — násobek 3 (3/6/9…), ideálně 6 (jinak varování; ne-násobek 3 = chyba)
@okruh-firmynáhled okruhu „Pro firmy a organizace" — právě 1
@okruh-soukromináhled okruhu „Pro vás a vaše blízké" — právě 1
@okruh-autorskanáhled okruhu „Volná tvorba" — právě 1
@aboutportrét v pruhu „O mně" — právě 1
Pořadí v karuselu / náhledu Nastavíš ho číslem za značkou: @karusel-1, @karusel-2, … @nahled-1 … (bez čísla = fotka jde na konec). Pořadí fotek v galerii to nemění — to dál určuje pořadí řádků v cfg, takže karusel lze seřadit nezávisle na galerii.
# reportáž v galerii + 2. fotka v karuselu i v náhledu
na_dune.jpg|Konverzace na duně|svedeknereziser @karusel-2 @nahled-2
Titulní fotka karty kategorie — značka @<slug> Každá kategorie má v galerii kartu (v pohledu na okruh) uvedenou jednou „titulní" fotkou. Tu určuješ značkou @<slug> (slug kategorie z kroku 3, např. @esencecloveka). Musí být u právě jedné fotky v rámci kategorie — když chybí nebo je víckrát, build se zastaví. Titulní fotku změníš tak, že @<slug> přesuneš na řádek jiné fotky.
# tahle fotka uvádí kartu kategorie „Přirozený portrét"
portret.jpg|Přirozený portrét|esencecloveka @esencecloveka
5

Více kategorií u jedné fotky

Fotka může patřit do víc kategorií zároveň (např. focení komunitní akce = reportáž i komunity). Slugy napiš do třetího pole oddělené mezerou:

akce.jpg|Společná oslava klubu|svedeknereziser sdilenacesta

Taková fotka se pak ukáže ve filtru Reportáž i ve filtru Komunity a spolky a samozřejmě i ve „Vše".

6

Spusť skript — složí galerii i hlavní stránku

Z kořene projektu spusť skript. Ten nejdřív zkontroluje celý config a teprve když je vše v pořádku, přepíše galerie.html i index.html:

# jen kontrola configu (nic nezapíše)
tools/galerie-build.sh --check

# kontrola + složení galerie.html a index.html
tools/galerie-build.sh

Vypíše počet fotek, kolik jich je v které kategorii a přehled @umístění. Pak fotku dostaneš do produkce stejně jako každou jinou změnu ve stage — přes tools/promote.sh --go a tools/deploy.sh --go.

Ověření Lokálně z web/stage/: python3 -m http.server 8000 → otevři http://localhost:8000/galerie.html?kat=<slug> a zkontroluj, že je fotka ve správném filtru.
7

Co skript hlídá — a co neměnit

Skript při každém běhu kontroluje a při jakékoli chybě nic nezapíše (vypíše, co je špatně a na kterém řádku):

Texty kategorií jsou jinde Nadpis, popisy a hashtag kategorie nejsou ve fotky.cfg — bydlí v js/galerie.js v mapě CATS (jeden zdroj pravdy, shodný s hlavní stránkou). Přidání fotky se jich netýká.
Prázdná kategorie Když do nějaké kategorie zatím žádná fotka nepatří, filtr ukáže hlášku „Tato kategorie zatím neobsahuje fotografie." Zmizí, jakmile přidáš první řádek s daným hashtagem.

✓

Rychlý checklist


G

Galerie projektů — samostatná galerie

Někdy chceš galerii, která nepatří do hlavního portfolia: grafika pro sociální sítě, dlouhodobý projekt, nebo galerie k jednomu blogu. To je galerie projektů (ad-hoc): žije samostatně na vlastní adrese /g/<slug>/, ale je dosažitelná z webu (pruh na hlavní stránce, odkaz na stránce Galerie, rozcestník /g/, patička).

Princip je stejný jako u hlavní galerie — složka s configem → build složí stránku — jen je každá galerie ve své vlastní složce a má vlastní jednoduchou stránku (mřížka + lightbox).

Hlavní galerie se nemění Galerie projektů jsou úplně oddělené (data/in/galerie/). Hlavní galerie, fotky.cfg ani index.html se jich netýkají.
1

Vytvoř složku galerie

Pro každou galerii jedna složka v data/in/galerie/. Jméno složky je slug (malá písmena bez diakritiky a mezer) — objeví se i v URL.

# např. galerie pro grafiku na sociální sítě
data/in/galerie/socialni-grafiky/

Do složky nahraj obrázky — klidně do podsložek (např. 2025/leto/akce.jpg).

2

Vytvoř galerie.cfg a nastav meta

Do složky přidej textový soubor galerie.cfg. Nahoře meta — řádky #! klíč: hodnota. Hodnota je celý zbytek řádku (žádné komentáře za hodnotou):

# meta galerie
#! titul:    Sociální grafiky
#! intro:    Grafiky pro Facebook, Instagram a Threads.
#! slug:     socialni-grafiky
#! verejne:  ano
#! homepage: ano
#! cover:    ukazka-1.jpg
klíčvýznam
titulnázev galerie (nadpis stránky i karta v rozcestníku)
introjedna věta pod nadpisem
slugjméno v URL /g/<slug>/ — nepovinné (default = jméno složky)
verejneano = je v rozcestníku /g/; ne = jen draft ve stage (nikam neodkazuje)
homepageano = galerie patří i na hlavní stránku (zatím rezerva — na homepage je společný pruh „Galerie projektů" na rozcestník)
covernáhledová fotka do rozcestníku — nepovinné (default = 1. fotka)
3

Přidej řádky s fotkami

Pod meta přidej řádky cesta|popis (třetí pole „tagy" je u galerie projektů nepovinné). Pořadí řádků = pořadí v galerii. Cesta je relativně ke složce galerie.

ukazka-1.jpg|Popisek grafiky
2025/leto/akce.jpg|Z letní akce
Sdílení fotky z hlavní galerie (bez nahrávání 2×) Fotku, kterou už máš v hlavní galerii (data/in/fotky/), použiješ cestou ../../fotky/<soubor>. Build ji nekopíruje — galerie na ni jen ukáže.
# sdílená fotka z hlavní galerie
../../fotky/bar.jpg|Sdílená fotka z hlavní galerie
4

Slož galerii

# jen tahle galerie (rychlé)
tools/galerie-adhoc-build.sh socialni-grafiky

# nebo všechno najednou (hlavní web + všechny galerie projektů)
tools/galerie-build.sh

# jen kontrola, nic nezapíše
tools/galerie-adhoc-build.sh --check

Vznikne web/stage/g/<slug>/index.html (+ složka fotky/ s kopiemi vlastních fotek) a přestaví se rozcestník web/stage/g/index.html. Skript zkontroluje existenci fotek a neprázdné popisky; upozorní na velké soubory.

Výstup needituj ručně web/stage/g/… je generované — ruční změny příští build přepíše. Měň galerie.cfg (fotky/meta) nebo šablony galerie-adhoc-VZOR.html / galerie-projekty-VZOR.html (design).
5

Kde se galerie objeví

Galerie je samostatná, ale ne skrytá — vede na ni:

Dokud galerii ladíš Dej #! verejne: ne — galerie se postaví do stage, ale nikam se neodkazuje. Až bude hotová, přepni na ano a spusť build.
6

Pomocné skripty (volitelně)

Stejné nástroje jako u hlavní galerie, jen jim dáš složku galerie jako argument — hodí se při více grafikách najednou:

# doplní nové obrázky do galerie.cfg jako prázdné řádky
tools/fotky-scan.sh data/in/galerie/socialni-grafiky

# tabulka s náhledy → vyplníš popisky v SeaMonkey → zpět
tools/fotky-html.py to-html data/in/galerie/socialni-grafiky
tools/fotky-html.py to-cfg  data/in/galerie/socialni-grafiky

fotky.html vznikne přímo ve složce galerie (vedle galerie.cfg); sdílené fotky ../../fotky/… v ní needituj.

✓

Checklist — galerie projektů