backend:
  name: github
  repo: zdepodany/pohodlnehubnuti-recepty
  branch: main
  base_url: https://sveltia-cms-auth.zdepodany.workers.dev

# Záměrně bez media_folder/public_folder (git media) - ověřeno živě, že bez
# nich zmizí z výběru obrázků možnost "Globální média" a jako jediná volba
# (rovnou předvybraná) zůstane Cloudflare R2. Idiot-proof pro Bauche, ať
# nemusí nic vybírat.
media_libraries:
  cloudflare_r2:
    access_key_id: "ead15c4a09043f356b0a2651b8931e9c"
    bucket: "pohodlnehubnuti"
    account_id: "f9ff4652f0aa43a3fd0d2db1b85a80c6"
    public_url: "https://img.pohodlnehubnuti.cz"
    prefix: "recepty/"
    jurisdiction: "eu" # bucket běží v EU jurisdikci (viz S3 API endpoint .eu.r2.cloudflarestorage.com)
# Secret Access Key se do configu nepíše - Bauch ho zadá jednou v UI CMS,
# uloží se bezpečně jen v jeho prohlížeči.

slug:
  encoding: "unicode"
  clean_accents: true
  sanitize_replacement: "-"

collections:
  - name: "recepty"
    label: "Recepty"
    label_singular: "Recept"
    folder: "src/recepty"
    create: true
    slug: "{{slug}}"
    identifier_field: title
    format: "frontmatter"
    extension: "md"
    fields:
      - label: "Název receptu"
        name: "title"
        widget: "string"

      - label: "Datum publikace"
        name: "date"
        widget: "datetime"
        format: "YYYY-MM-DD"
        date_format: "D. M. YYYY"
        time_format: false

      - label: "Sekce"
        name: "typ"
        widget: "select"
        default: "bezny"
        hint: "Do které části webu recept patří - Recepty (běžné) nebo Fitness recepty."
        options:
          - { label: "Recepty (běžné)", value: "bezny" }
          - { label: "Fitness recepty", value: "fitness" }

      - label: "Kategorie"
        name: "kategorie"
        widget: "select"
        multiple: true
        min: 1
        hint: "Klidně vyber víc kategorií, pokud recept sedí do víc z nich (např. svačinka i snídaně)."
        options:
          - { label: "Snídaně", value: "snidane" }
          - { label: "Polévky", value: "polevky" }
          - { label: "Obědy", value: "obedy" }
          - { label: "Večeře", value: "vecere" }
          - { label: "Saláty", value: "salaty" }
          - { label: "Svačinky", value: "svaciny" }
          - { label: "Dezerty", value: "dezerty" }
          - { label: "Nápoje", value: "napoje" }

      - label: "Typ stravy"
        name: "dieta"
        widget: "select"
        default: "bez-omezeni"
        hint: "Vyber vždy jen nejpřísnější variantu, která na recept sedí (veganský recept už neznačit navíc jako vegetariánský). Použije se jako filtr na webu."
        options:
          - { label: "Bez omezení", value: "bez-omezeni" }
          - { label: "Bezmasé", value: "bezmase" }
          - { label: "Vegetariánské", value: "vegetarianske" }
          - { label: "Veganské", value: "veganske" }

      - label: "Čas přípravy (minuty)"
        name: "casPripravy"
        widget: "number"
        value_type: "int"
        min: 1

      - label: "Hlavní fotka"
        name: "obrazek"
        widget: "image"
        required: false
        hint: "Pokud fotku nepřidáš, na webu se místo ní zobrazí hezký placeholder."

      - label: "Krátký popis (perex)"
        name: "perex"
        widget: "text"
        hint: "1-2 věty. Zobrazí se v přehledu receptů i jako popisek pro Google."

      - label: "Počet porcí"
        name: "porce"
        widget: "number"
        value_type: "int"
        min: 1
        default: 4
        hint: "Pro kolik porcí je recept napsaný. Podle tohoto čísla se na webu bude přepočítávat množství ingrediencí, když si čtenář zvolí jiný počet porcí."

      - label: "Výživové hodnoty (nepovinné, na 1 porci)"
        name: "vyziva"
        widget: "object"
        required: false
        collapsed: true
        hint: "Pokud recept nemáš spočítaný, klidně nech celé prázdné - na webu se pak nezobrazí. Hodnoty najdeš třeba v kalkulačce kalorií podle použitých surovin. Vyplň všechny tři, ať sedí i kalorie a poměr v kroužcích."
        fields:
          - label: "Sacharidy (g)"
            name: "sacharidy"
            widget: "number"
            value_type: "float"
            required: false
            min: 0
          - label: "Bílkoviny (g)"
            name: "bilkoviny"
            widget: "number"
            value_type: "float"
            required: false
            min: 0
          - label: "Tuky (g)"
            name: "tuky"
            widget: "number"
            value_type: "float"
            required: false
            min: 0

      - label: "Ingredience"
        name: "ingredience"
        widget: "list"
        hint: "Pokud recept nemá skupiny surovin, nech pole 'Název skupiny' u jediné položky prázdné a napiš tam rovnou všechny suroviny."
        fields:
          - label: "Název skupiny (nepovinné)"
            name: "skupina"
            widget: "string"
            required: false
            hint: "Např. 'Na těsto' nebo 'Na zálivku'. Klidně nech prázdné."
          - label: "Suroviny"
            name: "polozky"
            widget: "list"
            fields:
              - label: "Množství"
                name: "mnozstvi"
                widget: "number"
                value_type: "float"
                required: false
                hint: "Číslo, podle kterého se bude množství přepočítávat (např. 150, nebo 0.5 pro půl). Nech prázdné u ingrediencí typu 'sůl podle chuti' nebo 'hrst bylinek' - ty se pak nepřepočítávají a zobrazí se vždy stejně."
              - label: "Jednotka"
                name: "jednotka"
                widget: "string"
                required: false
                hint: "Např. g, ml, ks, lžíce, lžička, hrst. U položek jako '1 avokádo' klidně nech prázdné."
              - label: "Surovina"
                name: "nazev"
                widget: "string"
                hint: "Např. 'ovesných vloček'. U položek bez množství napiš rovnou celý text, např. 'sůl podle chuti'."

      - label: "Postup"
        name: "postup"
        widget: "list"
        field: { label: "Krok", name: "krok", widget: "string" }
        hint: "Každý krok je jedna položka. Na webu se automaticky očíslují."

      - label: "Poznámka navíc (nepovinné)"
        name: "body"
        widget: "markdown"
        required: false
        hint: "Delší text pod postupem, pokud je potřeba - klidně nech prázdné."

  - name: "reklamy"
    label: "Reklamní kampaně"
    label_singular: "Kampaň"
    folder: "src/reklamy"
    create: true
    slug: "{{slug}}"
    identifier_field: nazev
    format: "frontmatter"
    extension: "md"
    fields:
      - label: "Název kampaně"
        name: "nazev"
        widget: "string"
        hint: "Jen pro tvou orientaci v seznamu, na webu se nikde nezobrazuje."

      - label: "Aktivní"
        name: "aktivni"
        widget: "boolean"
        default: true
        hint: "Vypnutím kampaň zmizí z webu, obrázky zůstanou uložené a můžeš ji kdykoli zase zapnout."

      - label: "Odkaz"
        name: "odkaz"
        widget: "string"
        hint: "Kam se čtenář dostane po kliknutí na banner (celá adresa včetně https://)."

      - label: "Váha"
        name: "vaha"
        widget: "number"
        value_type: "int"
        default: 1
        min: 1
        hint: "Vyšší číslo = kampaň se bude zobrazovat častěji než ostatní aktivní kampaně. Necháš-li všude 1, budou se všechny točit stejně často."

      - label: "Obrázky"
        name: "varianty"
        widget: "list"
        hint: "Nahraj aspoň jeden obrázek. Pro nejlepší zobrazení na všech velikostech obrazovky nahraj oba tvary."
        fields:
          - label: "Tvar"
            name: "tvar"
            widget: "select"
            options:
              - { label: "Čtverec (1024×1024 px)", value: "ctverec" }
              - { label: "Na výšku (720×1456 px)", value: "navysku" }
          - label: "Obrázek"
            name: "obrazek"
            widget: "image"
