backend:
  name: git-gateway
  branch: main

local_backend: true

media_folder: static/images/blog
public_folder: /images/blog
logo:
  src: favicon.png
  
collections:
  - name: site
    label: Site Data
    editor:
      preview: false
    files:
      - name: site
        label: Site Config
        file: src/lib/data/site.json
        fields:
          - { name: name, label: Site Name, widget: string }
          - { name: url, label: Site URL, widget: string }
          - { name: locale, label: Locale, widget: string }
          - name: brand
            label: Brand
            widget: object
            fields:
              - { name: mark, label: Mark, widget: string }
              - { name: text, label: Text, widget: string }
              - { name: accent, label: Accent, widget: string }
              - { name: href, label: Link, widget: string }
          - { name: defaultOgImage, label: Default OG Image, widget: image }
          - name: twitter
            label: Twitter
            widget: object
            fields:
              - { name: card, label: Card, widget: string }
              - { name: site, label: Site Handle, widget: string }
          - { name: themeColor, label: Theme Color, widget: color }

      - name: navbar
        label: Navigation
        file: src/lib/data/navbar.json
        editor:
          preview: false
        fields:
          - { name: toggleLabel, label: Toggle Label, widget: string }
          - { name: navLabel, label: Nav Label, widget: string }
          - name: links
            label: Links
            widget: list
            fields:
              - { name: label, label: Label, widget: string }
              - { name: href, label: Href, widget: string }
          - name: action
            label: Action Button
            widget: object
            fields:
              - { name: label, label: Label, widget: string }
              - { name: href, label: Href, widget: string }
              - { name: variant, label: Variant, widget: select, options: [primary, secondary, purple] }
              - { name: size, label: Size, widget: select, options: [sm, md] }

      - name: footer
        label: Footer
        file: src/lib/data/footer.json
        editor:
          preview: false
        fields:
          - { name: desc, label: Description, widget: text }
          - name: status
            label: Status
            widget: object
            fields:
              - { name: text, label: Text, widget: string }
              - { name: variant, label: Variant, widget: select, options: [lime, purple, default] }
          - name: columns
            label: Columns
            widget: list
            fields:
              - { name: heading, label: Heading, widget: string }
              - name: links
                label: Links
                widget: list
                fields:
                  - { name: label, label: Label, widget: string }
                  - { name: href, label: Href, widget: string }
          - { name: copyright, label: Copyright, widget: string }
          - name: legalLinks
            label: Legal Links
            widget: list
            fields:
              - { name: label, label: Label, widget: string }
              - { name: href, label: Href, widget: string }

  - name: pages
    label: Pages
    files:
      - name: home
        label: Home
        file: src/content/home/index.md
        editor:
          preview: false
        fields:
          - name: seo
            label: SEO
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: ogType, label: OG Type, widget: string }
              - { name: ogImage, label: OG Image, widget: image }
              - { name: twitterCard, label: Twitter Card, widget: string }
              - { name: canonical, label: Canonical, widget: string }
          - name: hero
            label: Hero
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: titleHtml, label: Title HTML, widget: text }
              - { name: lead, label: Lead, widget: text }
              - name: buttons
                label: Buttons
                widget: list
                fields:
                  - { name: label, label: Label, widget: string }
                  - { name: href, label: Href, widget: string }
                  - { name: variant, label: Variant, widget: select, options: [primary, secondary] }
          - name: mockup
            label: Mockup
            widget: object
            fields:
              - { name: ariaLabel, label: ARIA Label, widget: string }
              - { name: address, label: Address, widget: string }
              - name: status
                label: Status
                widget: object
                fields:
                  - { name: text, label: Text, widget: string }
                  - { name: variant, label: Variant, widget: string }
              - name: metrics
                label: Metrics
                widget: list
                fields:
                  - { name: label, label: Label, widget: string }
                  - { name: value, label: Value, widget: string }
                  - { name: variant, label: Variant, widget: string }
              - name: graph
                label: Graph
                widget: object
                fields:
                  - { name: title, label: Title, widget: string }
                  - { name: status, label: Status, widget: string }
                  - { name: bars, label: Bars, widget: number, value_type: int }
              - name: terminal
                label: Terminal Lines
                widget: list
                fields:
                  - { name: prompt, label: Prompt, widget: string }
                  - { name: text, label: Text, widget: string }
                  - { name: type, label: Type, widget: select, options: [text, status] }
          - name: marquee
            label: Marquee
            widget: object
            fields:
              - { name: ariaLabel, label: ARIA Label, widget: string }
              - name: items
                label: Items
                widget: list
                field: { name: item, label: Item, widget: string }
          - name: features
            label: Features
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: title, label: Title, widget: string }
                  - { name: icon, label: Icon, widget: string }
                  - { name: text, label: Text, widget: text }
                  - name: tags
                    label: Tags
                    widget: list
                    fields:
                      - { name: text, label: Text, widget: string }
                      - { name: variant, label: Variant, widget: select, options: [lime, purple, default] }
                  - name: link
                    label: Link
                    widget: object
                    required: false
                    fields:
                      - { name: label, label: Label, widget: string }
                      - { name: href, label: Href, widget: string }
                      - { name: cta, label: CTA, widget: boolean, default: false }
                  - { name: span, label: Grid Span, widget: number, value_type: int, default: 4 }
                  - { name: highlight, label: Highlight, widget: boolean, default: false }
                  - { name: purpleGlow, label: Purple Glow, widget: boolean, default: false }
          - name: steps
            label: Steps
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: number, label: Number, widget: string }
                  - { name: title, label: Title, widget: string }
                  - { name: desc, label: Description, widget: text }
          - name: pricing
            label: Pricing
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: tiers
                label: Tiers
                widget: list
                fields:
                  - { name: tier, label: Tier, widget: string }
                  - { name: featured, label: Featured, widget: boolean, default: false }
                  - { name: badge, label: Badge, widget: string, required: false }
                  - { name: price, label: Price, widget: string }
                  - { name: period, label: Period, widget: string }
                  - { name: desc, label: Description, widget: text }
                  - name: features
                    label: Features
                    widget: list
                    field: { name: feature, label: Feature, widget: string }
                  - name: cta
                    label: CTA
                    widget: object
                    fields:
                      - { name: label, label: Label, widget: string }
                      - { name: href, label: Href, widget: string }
                      - { name: variant, label: Variant, widget: select, options: [primary, secondary] }
          - name: testimonials
            label: Testimonials
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: quote, label: Quote, widget: text }
                  - { name: author, label: Author, widget: string }
                  - { name: role, label: Role, widget: string }
                  - { name: initials, label: Initials, widget: string }
          - name: faq
            label: FAQ
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: question, label: Question, widget: string }
                  - { name: answer, label: Answer, widget: text }

      - name: about
        label: About
        file: src/content/about/about.md
        editor:
          preview: false
        fields:
          - name: seo
            label: SEO
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: ogType, label: OG Type, widget: string }
              - { name: ogImage, label: OG Image, widget: image }
              - { name: twitterCard, label: Twitter Card, widget: string }
              - { name: canonical, label: Canonical, widget: string }
          - name: pageHeader
            label: Page Header
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: titleHtml, label: Title HTML, widget: text }
              - { name: desc, label: Description, widget: text }
          - name: stats
            label: Stats
            widget: object
            fields:
              - { name: ariaLabel, label: ARIA Label, widget: string }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: number, label: Number, widget: string }
                  - { name: label, label: Label, widget: string }
          - name: mission
            label: Mission
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: title, label: Title, widget: string }
                  - { name: icon, label: Icon, widget: string }
                  - { name: text, label: Text, widget: text }
                  - { name: span, label: Grid Span, widget: number, value_type: int }
                  - { name: highlight, label: Highlight, widget: boolean, default: false }
                  - { name: purpleGlow, label: Purple Glow, widget: boolean, default: false }
          - name: team
            label: Team
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: initials, label: Initials, widget: string }
                  - { name: name, label: Name, widget: string }
                  - { name: role, label: Role, widget: string }
                  - { name: bio, label: Bio, widget: text }

      - name: contact
        label: Contact
        file: src/content/contact/contact.md
        editor:
          preview: false
        fields:
          - name: seo
            label: SEO
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: ogType, label: OG Type, widget: string }
              - { name: ogImage, label: OG Image, widget: image }
              - { name: twitterCard, label: Twitter Card, widget: string }
              - { name: canonical, label: Canonical, widget: string }
          - name: header
            label: Page Header
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: titleHtml, label: Title HTML, widget: text }
              - { name: desc, label: Description, widget: text }
          - name: info
            label: Contact Info
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - name: items
                label: Items
                widget: list
                fields:
                  - { name: label, label: Label, widget: string }
                  - { name: value, label: Value, widget: string }
                  - { name: href, label: Href, widget: string, required: false }
                  - { name: variant, label: Variant, widget: string, required: false }
          - name: form
            label: Form
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: desc, label: Description, widget: text }
              - { name: action, label: Form Action URL, widget: string }
              - { name: submitLabel, label: Submit Label, widget: string }
              - name: fields
                label: Fields
                widget: list
                fields:
                  - { name: name, label: Name Attribute, widget: string }
                  - { name: label, label: Label, widget: string }
                  - { name: type, label: Type, widget: select, options: [text, email, textarea] }
                  - { name: required, label: Required, widget: boolean, default: false }
                  - { name: placeholder, label: Placeholder, widget: string }

  - name: legal
    label: Legal Pages
    folder: src/content/legal
    create: true
    slug: '{{slug}}'
    extension: md
    format: frontmatter
    editor:
      preview: false
    fields:
      - name: seo
        label: SEO
        widget: object
        fields:
          - { name: title, label: Title, widget: string }
          - { name: description, label: Description, widget: text }
          - { name: ogType, label: OG Type, widget: string }
          - { name: ogImage, label: OG Image, widget: image }
          - { name: twitterCard, label: Twitter Card, widget: string }
          - { name: canonical, label: Canonical, widget: string }
      - name: header
        label: Page Header
        widget: object
        fields:
          - { name: eyebrow, label: Eyebrow, widget: string }
          - { name: titleHtml, label: Title HTML, widget: text }
          - { name: desc, label: Description, widget: text }
      - { name: body, label: Body, widget: markdown }

  - name: services
    label: Services
    folder: src/content/services
    create: true
    slug: '{{slug}}'
    extension: md
    format: frontmatter
    editor:
      preview: false
    filter: { field: slug, pattern: '^(?!_index$).*' }
    fields:
      - { name: title, label: Title, widget: string }
      - { name: slug, label: Slug, widget: string }
      - { name: icon, label: Icon, widget: string }
      - { name: order, label: Order, widget: number, value_type: int, default: 99 }
      - { name: excerpt, label: Excerpt, widget: text }
      - name: link
        label: Primary Link
        widget: object
        fields:
          - { name: label, label: Label, widget: string }
          - { name: href, label: Href, widget: string }
      - name: secondary
        label: Secondary Link
        widget: object
        required: false
        fields:
          - { name: label, label: Label, widget: string }
          - { name: href, label: Href, widget: string }
      - { name: body, label: Body, widget: markdown }

  - name: services_config
    label: Services Page Config
    files:
      - name: index
        label: Services List Config
        file: src/content/services/_index.md
        editor:
          preview: false
        fields:
          - name: seo
            label: SEO
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: ogType, label: OG Type, widget: string }
              - { name: ogImage, label: OG Image, widget: image }
              - { name: twitterCard, label: Twitter Card, widget: string }
              - { name: canonical, label: Canonical, widget: string }
          - name: header
            label: Page Header
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: titleHtml, label: Title HTML, widget: text }
              - { name: desc, label: Description, widget: text }
          - name: pagination
            label: Pagination
            widget: object
            fields:
              - { name: perPage, label: Per Page, widget: number, value_type: int }
              - { name: prevLabel, label: Prev Label, widget: string }
              - { name: nextLabel, label: Next Label, widget: string }

  - name: blog
    label: Blog Posts
    folder: src/content/blog
    create: true
    slug: '{{slug}}'
    extension: md
    format: frontmatter
    editor:
      preview: false
    fields:
      - { name: title, label: Title, widget: string }
      - { name: slug, label: Slug, widget: string }
      - { name: date, label: Date, widget: datetime, date_format: 'YYYY-MM-DD', time_format: false }
      - { name: order, label: Order, widget: number, value_type: int, default: 99 }
      - { name: category, label: Category, widget: select, options: [sveltekit, content, seo] }
      - { name: tags, label: Tags, widget: list, field: { name: tag, label: Tag, widget: string } }
      - { name: readTime, label: Read Time, widget: string }
      - { name: excerpt, label: Excerpt, widget: text }
      - { name: image, label: Cover Image, widget: image, required: false }
      - { name: imageAlt, label: Image Alt, widget: string, required: false }
      - name: author
        label: Author
        widget: object
        fields:
          - { name: name, label: Name, widget: string }
          - { name: initials, label: Initials, widget: string }
          - { name: role, label: Role, widget: string }
      - { name: body, label: Body, widget: markdown }

  - name: blog_config
    label: Blog Page Config
    editor:
     preview: false
    files:
      - name: index
        label: Blog List Config
        file: src/content/blog/_index.md
        fields:
          - name: seo
            label: SEO
            widget: object
            fields:
              - { name: title, label: Title, widget: string }
              - { name: description, label: Description, widget: text }
              - { name: ogType, label: OG Type, widget: string }
              - { name: ogImage, label: OG Image, widget: image }
              - { name: twitterCard, label: Twitter Card, widget: string }
              - { name: canonical, label: Canonical, widget: string }
          - name: header
            label: Page Header
            widget: object
            fields:
              - { name: eyebrow, label: Eyebrow, widget: string }
              - { name: titleHtml, label: Title HTML, widget: text }
              - { name: desc, label: Description, widget: text }
          - name: pagination
            label: Pagination
            widget: object
            fields:
              - { name: perPage, label: Per Page, widget: number, value_type: int }
              - { name: prevLabel, label: Prev Label, widget: string }
              - { name: nextLabel, label: Next Label, widget: string }
          - name: filters
            label: Filters
            widget: list
            fields:
              - { name: label, label: Label, widget: string }
              - { name: value, label: Value, widget: string }