# 관리자 글쓰기(Decap CMS) 설정
locale: 'ko'
logo_url: /assets/logo-text.png

# 관리자 로그인: DecapBridge 이메일·비밀번호 (초대는 decapbridge.com의 Manage collaborators)
backend:
  name: git-gateway
  repo: silver8283/ubsc-homepage
  branch: main
  identity_url: https://auth.decapbridge.com/sites/d4d7dd8e-b1c2-4b63-afd4-91f81e9f57d0
  gateway_url: https://gateway.decapbridge.com
  # 누가 무엇을 했는지 기록
  commit_messages:
    create: '새 글: {{collection}} / {{slug}} - {{author-name}} <{{author-login}}>'
    update: '글 수정: {{collection}} / {{slug}} - {{author-name}} <{{author-login}}>'
    delete: '글 삭제: {{collection}} / {{slug}} - {{author-name}} <{{author-login}}>'
    uploadMedia: '파일 올림: {{path}} - {{author-name}} <{{author-login}}>'
    deleteMedia: '파일 삭제: {{path}} - {{author-name}} <{{author-login}}>'
    openAuthoring: '{{message}} - {{author-name}} <{{author-login}}>'

# 관리자 화면에 "사이트 보기" 링크
site_url: https://ulsansenior.com

# 내 컴퓨터에서 시험할 때만 쓰임 (npx decap-server 실행 시)
local_backend: true

# 사진·첨부파일 저장 위치
media_folder: public/uploads
public_folder: /uploads

# 파일 이름 규칙: 한글 파일 이름도 그대로 유지 (ascii로 하면 한글이 지워져 ".png"처럼 이름 없는 파일이 됨)
# 새 글 파일 이름은 각 게시판의 slug(예: 20261017-153012)로 정해짐
slug:
  encoding: unicode
  sanitize_replacement: '-'

collections:
  - name: notice
    label: 공지사항
    label_singular: 공지사항 글
    folder: src/content/notice
    create: true
    slug: '{{year}}{{month}}{{day}}-{{hour}}{{minute}}{{second}}'
    summary: '{{title}} ({{date | date("YYYY.MM.DD")}})'
    sortable_fields: ['date', 'title']
    fields:
      - { label: 제목, name: title, widget: string }
      - { label: 분류, name: tag, widget: select, options: [공지, 모집, 교육, 행사], default: 공지 }
      - { label: 맨 위에 고정, name: pinned, widget: boolean, default: false, required: false, hint: '켜면 이 글이 공지사항 목록과 첫 화면에서 날짜와 상관없이 항상 맨 위에 나옵니다. 고정을 풀려면 다시 끄면 됩니다.' }
      - { label: 날짜, name: date, widget: datetime, date_format: 'YYYY.MM.DD', time_format: false, format: 'YYYY-MM-DD' }
      - { label: 대표 사진, name: photo, widget: image, required: false, hint: 'PNG, JPG 모두 됩니다. 1MB가 넘는 큰 사진은 올릴 때 자동으로 줄여서 JPG로 저장됩니다.' }
      - label: 첨부파일
        name: files
        widget: list
        required: false
        label_singular: 첨부파일
        summary: '{{fields.name}}'
        fields:
          - { label: 파일, name: file, widget: file, hint: '파일 하나는 25MB보다 작아야 합니다. 더 큰 파일은 홈페이지에 올라가지 않고, 그 뒤로 고친 내용도 반영되지 않습니다. 큰 PPT는 PDF로 바꾸거나 사진을 압축해서 올려 주세요.' }
          - { label: 표시할 이름 (비워두면 파일 이름), name: name, widget: string, required: false }
      - { label: 본문, name: body, widget: markdown, required: false }

  - name: press
    label: 보도자료
    label_singular: 보도자료 글
    folder: src/content/press
    create: true
    slug: '{{year}}{{month}}{{day}}-{{hour}}{{minute}}{{second}}'
    summary: '{{title}} ({{date | date("YYYY.MM.DD")}})'
    sortable_fields: ['date', 'title']
    fields:
      - { label: 제목, name: title, widget: string }
      - { label: 분류, name: tag, widget: hidden, default: 보도자료 }
      - { label: 날짜, name: date, widget: datetime, date_format: 'YYYY.MM.DD', time_format: false, format: 'YYYY-MM-DD' }
      - { label: 대표 사진, name: photo, widget: image, required: false, hint: 'PNG, JPG 모두 됩니다. 1MB가 넘는 큰 사진은 올릴 때 자동으로 줄여서 JPG로 저장됩니다.' }
      - label: 첨부파일
        name: files
        widget: list
        required: false
        label_singular: 첨부파일
        summary: '{{fields.name}}'
        fields:
          - { label: 파일, name: file, widget: file, hint: '파일 하나는 25MB보다 작아야 합니다. 더 큰 파일은 홈페이지에 올라가지 않고, 그 뒤로 고친 내용도 반영되지 않습니다. 큰 PPT는 PDF로 바꾸거나 사진을 압축해서 올려 주세요.' }
          - { label: 표시할 이름 (비워두면 파일 이름), name: name, widget: string, required: false }
      - { label: 본문, name: body, widget: markdown, required: false }

  - name: safety
    label: 안전보건자료
    label_singular: 안전보건자료 글
    folder: src/content/safety
    create: true
    slug: '{{year}}{{month}}{{day}}-{{hour}}{{minute}}{{second}}'
    summary: '{{title}} ({{date | date("YYYY.MM.DD")}})'
    sortable_fields: ['date', 'title']
    fields:
      - { label: 제목, name: title, widget: string }
      - { label: 분류, name: tag, widget: select, options: [방침, 교육, 평가, 수칙, 자료], default: 방침 }
      - { label: 날짜, name: date, widget: datetime, date_format: 'YYYY.MM.DD', time_format: false, format: 'YYYY-MM-DD' }
      - { label: 대표 사진, name: photo, widget: image, required: false, hint: 'PNG, JPG 모두 됩니다. 1MB가 넘는 큰 사진은 올릴 때 자동으로 줄여서 JPG로 저장됩니다.' }
      - label: 첨부파일
        name: files
        widget: list
        required: false
        label_singular: 첨부파일
        summary: '{{fields.name}}'
        fields:
          - { label: 파일, name: file, widget: file, hint: '파일 하나는 25MB보다 작아야 합니다. 더 큰 파일은 홈페이지에 올라가지 않고, 그 뒤로 고친 내용도 반영되지 않습니다. 큰 PPT는 PDF로 바꾸거나 사진을 압축해서 올려 주세요.' }
          - { label: 표시할 이름 (비워두면 파일 이름), name: name, widget: string, required: false }
      - { label: 본문, name: body, widget: markdown, required: false }

  - name: story
    label: 우리의 이야기
    label_singular: 우리의 이야기 글
    folder: src/content/story
    create: true
    slug: '{{year}}{{month}}{{day}}-{{hour}}{{minute}}{{second}}'
    summary: '{{title}} ({{date | date("YYYY.MM.DD")}})'
    sortable_fields: ['date', 'title']
    fields:
      - { label: 제목, name: title, widget: string }
      - { label: 분류, name: tag, widget: hidden, default: 우리의 이야기 }
      - { label: 날짜, name: date, widget: datetime, date_format: 'YYYY.MM.DD', time_format: false, format: 'YYYY-MM-DD' }
      - { label: 대표 사진, name: photo, widget: image, required: false, hint: 'PNG, JPG 모두 됩니다. 1MB가 넘는 큰 사진은 올릴 때 자동으로 줄여서 JPG로 저장됩니다.' }
      - label: 첨부파일
        name: files
        widget: list
        required: false
        label_singular: 첨부파일
        summary: '{{fields.name}}'
        fields:
          - { label: 파일, name: file, widget: file, hint: '파일 하나는 25MB보다 작아야 합니다. 더 큰 파일은 홈페이지에 올라가지 않고, 그 뒤로 고친 내용도 반영되지 않습니다. 큰 PPT는 PDF로 바꾸거나 사진을 압축해서 올려 주세요.' }
          - { label: 표시할 이름 (비워두면 파일 이름), name: name, widget: string, required: false }
      - { label: 본문, name: body, widget: markdown, required: false }

  # 홈페이지 고정 영역 설정
  - name: settings
    label: 홈페이지 설정
    editor: { preview: false }
    files:
      - name: banners
        label: 메인 배너 (첫 화면 슬라이드)
        file: src/data/banners.json
        fields:
          - label: 배너 목록
            name: slides
            widget: list
            label_singular: 배너
            min: 1
            max: 8
            summary: '{{fields.alt}}'
            hint: '위에서부터 순서대로 6초마다 넘어갑니다. 각 배너 위쪽 가운데의 손잡이(═)를 끌어서 순서를 바꿀 수 있습니다. 배너를 누르면 펼쳐져서 사진과 문구를 고칠 수 있습니다.'
            fields:
              - label: 배너 사진
                name: image
                widget: image
                hint: '권장 크기: 가로 2048 × 세로 519 픽셀 (가로가 세로의 약 4배인 길쭉한 사진). 이 비율과 다르면 사진 위아래나 양옆에 빈 공간이 생깁니다. 글자는 사진 가운데 쪽에 넣어 주세요 (휴대폰에서는 작게 보입니다). 파일 형식은 JPG 또는 PNG, 크기는 1MB 이하를 권장합니다.'
              - label: 배너 설명 (사진 속 문구)
                name: alt
                widget: string
                hint: '사진에 적힌 문구를 그대로 적어 주세요. 눈이 불편한 분께 읽어 주는 글이며, 관리자 목록에서 배너 이름으로도 쓰입니다.'
              - label: 누르면 이동할 페이지
                name: link
                widget: select
                required: false
                hint: '배너를 눌렀을 때 갈 페이지입니다. 비워 두면 눌러도 이동하지 않습니다.'
                options:
                  - { label: '인사말', value: '/about/greeting' }
                  - { label: '일반현황', value: '/about/general' }
                  - { label: '연혁', value: '/about/history' }
                  - { label: '미션 및 비전', value: '/about/vision' }
                  - { label: '함께하는 사람들', value: '/about/people' }
                  - { label: '안전보건경영방침', value: '/about/safety' }
                  - { label: '오시는 길', value: '/about/location' }
                  - { label: '사업소개', value: '/programs' }
                  - { label: '노인공익활동사업', value: '/programs/public' }
                  - { label: '노인역량활용사업', value: '/programs/skill' }
                  - { label: '공동체사업', value: '/programs/community' }
                  - { label: '취업지원사업', value: '/programs/employment' }
                  - { label: '일자리 참여방법 안내', value: '/apply/guide' }
                  - { label: '후원안내', value: '/apply/donate' }
                  - { label: '공지사항', value: '/news/notice' }
                  - { label: '우리의 이야기', value: '/news/story' }
                  - { label: '보도자료', value: '/news/press' }
                  - { label: '안전보건자료', value: '/news/safety' }
              - label: 다른 주소로 이동
                name: custom_link
                widget: string
                required: false
                hint: '특정 글이나 외부 사이트로 보내고 싶을 때만 주소를 붙여넣으세요 (예: https://blog.naver.com/...). 적으면 위의 "이동할 페이지"보다 먼저 적용됩니다.'
