# Sveltia CMS config — backend: local Gitea (demo). Editors log in via Gitea OAuth # (PKCE, no client secret); edits are committed to the ctao/portal repo in Gitea. # Local-only setup: for phone demos switch base_url/api_root to a cloudflared # tunnel URL and update the OAuth redirect_uri + Gitea ROOT_URL accordingly. backend: name: gitea repo: ctao/portal branch: main base_url: http://localhost:3010 api_root: http://localhost:3010/api/v1 app_id: 73c02331-8842-4ddc-b769-8b09c3c422fb # CTAO branding on the CMS sign-in screen (official Decap/Sveltia option) logo_url: /brand/CTAO_Logo_login.svg media_folder: "public/uploads" public_folder: "/uploads" collections: - name: news label: "News" label_singular: "Article" folder: "src/content/news" create: true slug: "{{slug}}" extension: md format: frontmatter summary: "{{title}} · {{date}}" fields: - { name: title, label: "Title", widget: string } - { name: description, label: "Short description", widget: text } - { name: date, label: "Date", widget: datetime, date_format: "YYYY-MM-DD", time_format: false } - { name: category, label: "Category", widget: string, default: "news" } - { name: author, label: "Author", widget: string, default: "CTAO" } - { name: cover, label: "Cover image", widget: image, required: false } - { name: draft, label: "Draft (unpublished)", widget: boolean, default: false } - { name: body, label: "Body", widget: markdown } - name: pages label: "Pages" label_singular: "Page" folder: "src/content/pages" create: true slug: "{{slug}}" extension: md format: frontmatter summary: "{{title}}" fields: - { name: title, label: "Title", widget: string } - { name: description, label: "Description", widget: text, required: false } - { name: body, label: "Body", widget: markdown }