52 lines
1.9 KiB
YAML
52 lines
1.9 KiB
YAML
# 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 }
|