766009aa0d
- Fix react key issue with typed list preview children - Added error outline to relation widget - Added typing support to template previews - Discard draft entry from store when navigating away from editor (This fixes an issue with the media library thinking it was still in the editor, causing it to upload media as draft) - Properly type file formatters - Fix local backup not working
470 lines
12 KiB
YAML
470 lines
12 KiB
YAML
backend:
|
|
name: github
|
|
branch: main
|
|
repo: staticjscms/static-cms-github
|
|
|
|
media_folder: assets/upload
|
|
public_folder: /assets/upload
|
|
collections:
|
|
- name: posts
|
|
label: Posts
|
|
label_singular: Post
|
|
description: >
|
|
The description is a great place for tone setting, high level information,
|
|
and editing guidelines that are specific to a collection.
|
|
folder: _posts
|
|
slug: '{{year}}-{{month}}-{{day}}-{{slug}}'
|
|
summary: '{{title}} -- {{year}}/{{month}}/{{day}}'
|
|
sortable_fields:
|
|
fields:
|
|
- title
|
|
- date
|
|
default:
|
|
field: title
|
|
create: true
|
|
view_filters:
|
|
- label: Posts With Index
|
|
field: title
|
|
pattern: 'This is post #'
|
|
- label: Posts Without Index
|
|
field: title
|
|
pattern: front matter post
|
|
- label: Drafts
|
|
field: draft
|
|
pattern: true
|
|
view_groups:
|
|
- label: Year
|
|
field: date
|
|
pattern: '\d{4}'
|
|
- label: Drafts
|
|
field: draft
|
|
fields:
|
|
- label: Title
|
|
name: title
|
|
widget: string
|
|
- label: Draft
|
|
name: draft
|
|
widget: boolean
|
|
default: false
|
|
- label: Publish Date
|
|
name: date
|
|
widget: datetime
|
|
date_format: yyyy-MM-dd
|
|
time_format: 'HH:mm'
|
|
format: 'yyyy-MM-dd HH:mm'
|
|
- label: Cover Image
|
|
name: image
|
|
widget: image
|
|
required: false
|
|
- label: Body
|
|
name: body
|
|
widget: markdown
|
|
hint: Main content goes here.
|
|
- name: faq
|
|
label: FAQ
|
|
folder: _faqs
|
|
create: true
|
|
fields:
|
|
- label: Question
|
|
name: title
|
|
widget: string
|
|
- label: Answer
|
|
name: body
|
|
widget: markdown
|
|
- name: posts
|
|
label: Posts
|
|
label_singular: Post
|
|
widget: list
|
|
summary: '{{fields.post | split(''|'', ''$1'')}}'
|
|
fields:
|
|
- label: Related Post
|
|
name: post
|
|
widget: relationKitchenSinkPost
|
|
collection: posts
|
|
display_fields:
|
|
- title
|
|
- date
|
|
search_fields:
|
|
- title
|
|
- body
|
|
value_field: '{{title}}|{{date}}'
|
|
- name: settings
|
|
label: Settings
|
|
delete: false
|
|
editor:
|
|
preview: false
|
|
files:
|
|
- name: general
|
|
label: Site Settings
|
|
file: _data/settings.json
|
|
description: General Site Settings
|
|
fields:
|
|
- label: Number of posts on frontpage
|
|
name: front_limit
|
|
widget: number
|
|
min: 1
|
|
max: 10
|
|
- label: Global title
|
|
name: site_title
|
|
widget: string
|
|
- label: Post Settings
|
|
name: posts
|
|
widget: object
|
|
fields:
|
|
- label: Number of posts on frontpage
|
|
name: front_limit
|
|
widget: number
|
|
min: 1
|
|
max: 10
|
|
- label: Default Author
|
|
name: author
|
|
widget: string
|
|
- label: Default Thumbnail
|
|
name: thumb
|
|
widget: image
|
|
required: false
|
|
- name: authors
|
|
label: Authors
|
|
file: _data/authors.yml
|
|
description: Author descriptions
|
|
fields:
|
|
- name: authors
|
|
label: Authors
|
|
label_singular: Author
|
|
widget: list
|
|
fields:
|
|
- label: Name
|
|
name: name
|
|
widget: string
|
|
hint: First and Last
|
|
- label: Description
|
|
name: description
|
|
widget: text
|
|
- name: kitchenSink
|
|
label: Kitchen Sink
|
|
folder: _sink
|
|
create: true
|
|
fields:
|
|
- label: Related Post
|
|
name: post
|
|
widget: relationKitchenSinkPost
|
|
collection: posts
|
|
display_fields:
|
|
- title
|
|
- date
|
|
search_fields:
|
|
- title
|
|
- body
|
|
value_field: title
|
|
- label: Title
|
|
name: title
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
default: true
|
|
- label: Map
|
|
name: map
|
|
widget: map
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
hint: 'Plain text, not markdown'
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
hint: To infinity and beyond!
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: markdown
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Color
|
|
name: color
|
|
widget: color
|
|
- label: Color string editable and alpha enabled
|
|
name: colorEditable
|
|
widget: color
|
|
enable_alpha: true
|
|
allow_input: true
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: Select multiple
|
|
name: select_multiple
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
multiple: true
|
|
- label: Select numeric
|
|
name: select_numeric
|
|
widget: select
|
|
options:
|
|
- label: One
|
|
value: 1
|
|
- label: Two
|
|
value: 2
|
|
- label: Three
|
|
value: 3
|
|
- label: Hidden
|
|
name: hidden
|
|
widget: hidden
|
|
default: hidden
|
|
- label: Object
|
|
name: object
|
|
widget: object
|
|
collapsed: true
|
|
fields:
|
|
- label: Related Post
|
|
name: post
|
|
widget: relationKitchenSinkPost
|
|
collection: posts
|
|
search_fields:
|
|
- title
|
|
- body
|
|
value_field: title
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
default: false
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: markdown
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: List
|
|
name: list
|
|
widget: list
|
|
fields:
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: markdown
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: Object
|
|
name: object
|
|
widget: object
|
|
fields:
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: markdown
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: List
|
|
name: list
|
|
widget: list
|
|
fields:
|
|
- label: Related Post
|
|
name: post
|
|
widget: relationKitchenSinkPost
|
|
collection: posts
|
|
search_fields:
|
|
- title
|
|
- body
|
|
value_field: title
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: text
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: Hidden
|
|
name: hidden
|
|
widget: hidden
|
|
default: hidden
|
|
- label: Object
|
|
name: object
|
|
widget: object
|
|
fields:
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: text
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: Typed List
|
|
name: typed_list
|
|
widget: list
|
|
types:
|
|
- label: Type 1 Object
|
|
name: type_1_object
|
|
widget: object
|
|
fields:
|
|
- label: String
|
|
name: string
|
|
widget: string
|
|
- label: Boolean
|
|
name: boolean
|
|
widget: boolean
|
|
- label: Text
|
|
name: text
|
|
widget: text
|
|
- label: Type 2 Object
|
|
name: type_2_object
|
|
widget: object
|
|
fields:
|
|
- label: Number
|
|
name: number
|
|
widget: number
|
|
- label: Select
|
|
name: select
|
|
widget: select
|
|
options:
|
|
- a
|
|
- b
|
|
- c
|
|
- label: Datetime
|
|
name: datetime
|
|
widget: datetime
|
|
- label: Markdown
|
|
name: markdown
|
|
widget: text
|
|
- label: Type 3 Object
|
|
name: type_3_object
|
|
widget: object
|
|
fields:
|
|
- label: Image
|
|
name: image
|
|
widget: image
|
|
- label: File
|
|
name: file
|
|
widget: file
|