chore: add code formatting and linting (#952)
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Boolean"
|
||||
label: 'Boolean'
|
||||
target: boolean
|
||||
---
|
||||
|
||||
@ -13,5 +13,5 @@ The boolean widget translates a toggle switch input to a true/false value.
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- {label: "Draft", name: "draft", widget: "boolean", default: true}
|
||||
- { label: 'Draft', name: 'draft', widget: 'boolean', default: true }
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Date"
|
||||
label: 'Date'
|
||||
target: date
|
||||
---
|
||||
|
||||
@ -14,9 +14,9 @@ The date widget translates a date picker input to a date string. For saving date
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Birthdate"
|
||||
name: "birthdate"
|
||||
widget: "date"
|
||||
default: ""
|
||||
format: "MMM Do YY"
|
||||
- label: 'Birthdate'
|
||||
name: 'birthdate'
|
||||
widget: 'date'
|
||||
default: ''
|
||||
format: 'MMM Do YY'
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "DateTime"
|
||||
label: 'DateTime'
|
||||
target: datetime
|
||||
---
|
||||
|
||||
@ -14,9 +14,9 @@ The datetime widget translates a datetime picker to a datetime string. For savin
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Start time"
|
||||
name: "start"
|
||||
widget: "datetime"
|
||||
default: ""
|
||||
format: "LLL"
|
||||
- label: 'Start time'
|
||||
name: 'start'
|
||||
widget: 'datetime'
|
||||
default: ''
|
||||
format: 'LLL'
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "File"
|
||||
label: 'File'
|
||||
target: file
|
||||
---
|
||||
|
||||
@ -13,8 +13,8 @@ The file widget allows editors to upload a file or select an existing one from t
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Manual PDF"
|
||||
name: "manual_pdf"
|
||||
widget: "file"
|
||||
default: "/uploads/general-manual.pdf"
|
||||
- label: 'Manual PDF'
|
||||
name: 'manual_pdf'
|
||||
widget: 'file'
|
||||
default: '/uploads/general-manual.pdf'
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Hidden"
|
||||
label: 'Hidden'
|
||||
target: hidden
|
||||
---
|
||||
|
||||
@ -8,10 +8,10 @@ Hidden widgets do not display in the UI. In folder collections that allow users
|
||||
- **Name:** `hidden`
|
||||
- **UI:** none
|
||||
- **Data type:** any valid data type
|
||||
- **Options:**
|
||||
- **Options:**
|
||||
- `default`: accepts any valid data type; recommended for collections that allow adding new items
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- {label: "Layout", name: "layout", widget: "hidden", default: "blog"}
|
||||
- { label: 'Layout', name: 'layout', widget: 'hidden', default: 'blog' }
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Image"
|
||||
label: 'Image'
|
||||
target: image
|
||||
---
|
||||
|
||||
@ -13,8 +13,8 @@ The image widget allows editors to upload an image or select an existing one fro
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Featured Image"
|
||||
name: "thumbnail"
|
||||
widget: "image"
|
||||
default: "/uploads/chocolate-dogecoin.jpg"
|
||||
- label: 'Featured Image'
|
||||
name: 'thumbnail'
|
||||
widget: 'image'
|
||||
default: '/uploads/chocolate-dogecoin.jpg'
|
||||
```
|
||||
|
@ -10,20 +10,20 @@ Widgets are specified as collection fields in the Netlify CMS `config.yml` file.
|
||||
|
||||
To see working examples of all of the built-in widgets, try making a 'Kitchen Sink' collection item on the [CMS demo site](https://cms-demo.netlify.com). (No login required: click the login button and the CMS will open.) You can refer to the demo [configuration code](https://github.com/netlify/netlify-cms/blob/master/packages/netlify-cms/example/config.yml) to see how each field was configured.
|
||||
|
||||
|
||||
## Common widget options
|
||||
|
||||
The following options are available on all fields:
|
||||
|
||||
- `required`: specify as `false` to make a field optional; defaults to `true`
|
||||
- `pattern`: add field validation by specifying a list with a [regex pattern](https://regexr.com/) and an error message; more extensive validation can be achieved with [custom widgets](https://www.netlifycms.org/docs/custom-widgets/#advanced-field-validation)
|
||||
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Title"
|
||||
name: "title"
|
||||
widget: "string"
|
||||
pattern: [".{12,}", "Must have at least 12 characters"]
|
||||
- label: 'Title'
|
||||
name: 'title'
|
||||
widget: 'string'
|
||||
pattern: ['.{12,}', 'Must have at least 12 characters']
|
||||
```
|
||||
|
||||
## Default widgets
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "List"
|
||||
label: 'List'
|
||||
target: list
|
||||
---
|
||||
|
||||
@ -16,44 +16,44 @@ The list widget allows you to create a repeatable item in the UI which saves as
|
||||
- **Example** (`field`/`fields` not specified):
|
||||
|
||||
```yaml
|
||||
- label: "Tags"
|
||||
name: "tags"
|
||||
widget: "list"
|
||||
default: ["news"]
|
||||
- label: 'Tags'
|
||||
name: 'tags'
|
||||
widget: 'list'
|
||||
default: ['news']
|
||||
```
|
||||
|
||||
- **Example** (`allow_add` marked `false`):
|
||||
|
||||
```yaml
|
||||
- label: "Tags"
|
||||
name: "tags"
|
||||
widget: "list"
|
||||
- label: 'Tags'
|
||||
name: 'tags'
|
||||
widget: 'list'
|
||||
allow_add: false
|
||||
default: ["news"]
|
||||
default: ['news']
|
||||
```
|
||||
|
||||
- **Example** (with `field`):
|
||||
|
||||
```yaml
|
||||
- label: "Gallery"
|
||||
name: "galleryImages"
|
||||
widget: "list"
|
||||
- label: 'Gallery'
|
||||
name: 'galleryImages'
|
||||
widget: 'list'
|
||||
field:
|
||||
- {label: Image, name: image, widget: image}
|
||||
- { label: Image, name: image, widget: image }
|
||||
```
|
||||
|
||||
- **Example** (with `fields`):
|
||||
|
||||
```yaml
|
||||
- label: "Testimonials"
|
||||
name: "testimonials"
|
||||
widget: "list"
|
||||
- label: 'Testimonials'
|
||||
name: 'testimonials'
|
||||
widget: 'list'
|
||||
fields:
|
||||
- {label: Quote, name: quote, widget: string, default: "Everything is awesome!"}
|
||||
- { label: Quote, name: quote, widget: string, default: 'Everything is awesome!' }
|
||||
- label: Author
|
||||
name: author
|
||||
widget: object
|
||||
fields:
|
||||
- {label: Name, name: name, widget: string, default: "Emmet"}
|
||||
- {label: Avatar, name: avatar, widget: image, default: "/img/emmet.jpg"}
|
||||
- { label: Name, name: name, widget: string, default: 'Emmet' }
|
||||
- { label: Avatar, name: avatar, widget: image, default: '/img/emmet.jpg' }
|
||||
```
|
||||
|
@ -1,11 +1,11 @@
|
||||
---
|
||||
label: "Markdown"
|
||||
label: 'Markdown'
|
||||
target: markdown
|
||||
---
|
||||
|
||||
The markdown widget provides a full fledged text editor - which is based on [slate](https://github.com/ianstormtaylor/slate) - that allows users to format text with features such as headings and blockquotes. Users are also allowed to write in markdown by simply flipping a switch.
|
||||
|
||||
*Please note:* in case you want to use your markdown editor to fill a markdown's file content after the frontmatter, you'll have name the field as `body` so then the CMS can recognize it and save the file accordingly.
|
||||
_Please note:_ in case you want to use your markdown editor to fill a markdown's file content after the frontmatter, you'll have name the field as `body` so then the CMS can recognize it and save the file accordingly.
|
||||
|
||||
- **Name:** `markdown`
|
||||
- **UI:** full text editor
|
||||
@ -16,10 +16,9 @@ The markdown widget provides a full fledged text editor - which is based on [sla
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- {label: "Blog post content", name: "body", widget: "markdown"}
|
||||
- { label: 'Blog post content', name: 'body', widget: 'markdown' }
|
||||
```
|
||||
|
||||
This would render as:
|
||||
|
||||

|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Number"
|
||||
label: 'Number'
|
||||
target: number
|
||||
---
|
||||
|
||||
@ -16,11 +16,11 @@ The number widget uses an HTML number input, saving the value as a string, integ
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Puppy Count"
|
||||
name: "puppies"
|
||||
widget: "number"
|
||||
- label: 'Puppy Count'
|
||||
name: 'puppies'
|
||||
widget: 'number'
|
||||
default: 2
|
||||
valueType: "int"
|
||||
valueType: 'int'
|
||||
min: 1
|
||||
max: 101
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Object"
|
||||
label: 'Object'
|
||||
target: object
|
||||
---
|
||||
|
||||
@ -14,22 +14,22 @@ The object widget allows you to group multiple widgets together, nested under a
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- label: "Profile"
|
||||
name: "profile"
|
||||
widget: "object"
|
||||
- label: 'Profile'
|
||||
name: 'profile'
|
||||
widget: 'object'
|
||||
fields:
|
||||
- {label: "Public", name: "public", widget: "boolean", default: true}
|
||||
- {label: "Name", name: "name", widget: "string"}
|
||||
- label: "Birthdate"
|
||||
name: "birthdate"
|
||||
widget: "date"
|
||||
default: ""
|
||||
format: "MM/DD/YYYY"
|
||||
- label: "Address"
|
||||
name: "address"
|
||||
widget: "object"
|
||||
fields:
|
||||
- {label: "Street Address", name: "street", widget: "string"}
|
||||
- {label: "City", name: "city", widget: "string"}
|
||||
- {label: "Postal Code", name: "post-code", widget: "string"}
|
||||
- { label: 'Public', name: 'public', widget: 'boolean', default: true }
|
||||
- { label: 'Name', name: 'name', widget: 'string' }
|
||||
- label: 'Birthdate'
|
||||
name: 'birthdate'
|
||||
widget: 'date'
|
||||
default: ''
|
||||
format: 'MM/DD/YYYY'
|
||||
- label: 'Address'
|
||||
name: 'address'
|
||||
widget: 'object'
|
||||
fields:
|
||||
- { label: 'Street Address', name: 'street', widget: 'string' }
|
||||
- { label: 'City', name: 'city', widget: 'string' }
|
||||
- { label: 'Postal Code', name: 'post-code', widget: 'string' }
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Relation"
|
||||
label: 'Relation'
|
||||
target: relation
|
||||
---
|
||||
|
||||
@ -17,12 +17,13 @@ The relation widget allows you to reference items from another collection. It pr
|
||||
- **Example** (assuming a separate "authors" collection with "name" and "twitterHandle" fields):
|
||||
|
||||
```yaml
|
||||
- label: "Post Author"
|
||||
name: "author"
|
||||
widget: "relation"
|
||||
collection: "authors"
|
||||
searchFields: ["name", "twitterHandle"]
|
||||
valueField: "name"
|
||||
displayFields: ["twitterHandle", "followerCount"]
|
||||
- label: 'Post Author'
|
||||
name: 'author'
|
||||
widget: 'relation'
|
||||
collection: 'authors'
|
||||
searchFields: ['name', 'twitterHandle']
|
||||
valueField: 'name'
|
||||
displayFields: ['twitterHandle', 'followerCount']
|
||||
```
|
||||
|
||||
The generated UI input will search the authors collection by name and twitterHandle, and display each author's handle and follower count. On selection, the author name will be saved for the field.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Select"
|
||||
label: 'Select'
|
||||
target: select
|
||||
---
|
||||
|
||||
@ -11,25 +11,25 @@ The select widget allows you to pick a single string value from a dropdown menu.
|
||||
- **Options:**
|
||||
- `default`: accepts a string; defaults to an empty string
|
||||
- `options`: (**required**) a list of options for the dropdown menu; can be listed in two ways:
|
||||
- string values: the label displayed in the dropdown is the value saved in the file
|
||||
- object with `label` and `value` fields: the label displays in the dropdown; the value is saved in the file
|
||||
- string values: the label displayed in the dropdown is the value saved in the file
|
||||
- object with `label` and `value` fields: the label displays in the dropdown; the value is saved in the file
|
||||
- **Example** (options as strings):
|
||||
|
||||
```yaml
|
||||
- label: "Align Content"
|
||||
name: "align"
|
||||
widget: "select"
|
||||
options: ["left", "center", "right"]
|
||||
- label: 'Align Content'
|
||||
name: 'align'
|
||||
widget: 'select'
|
||||
options: ['left', 'center', 'right']
|
||||
```
|
||||
|
||||
- **Example** (options as objects):
|
||||
|
||||
```yaml
|
||||
- label: "City"
|
||||
name: "airport-code"
|
||||
widget: "select"
|
||||
- label: 'City'
|
||||
name: 'airport-code'
|
||||
widget: 'select'
|
||||
options:
|
||||
- { label: "Chicago", value: "ORD" }
|
||||
- { label: "Paris", value: "CDG" }
|
||||
- { label: "Tokyo", value: "HND" }
|
||||
- { label: 'Chicago', value: 'ORD' }
|
||||
- { label: 'Paris', value: 'CDG' }
|
||||
- { label: 'Tokyo', value: 'HND' }
|
||||
```
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "String"
|
||||
label: 'String'
|
||||
target: string
|
||||
---
|
||||
|
||||
@ -13,5 +13,5 @@ The string widget translates a basic text input to a string value. For larger te
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- {label: "Title", name: "title", widget: "string"}
|
||||
- { label: 'Title', name: 'title', widget: 'string' }
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
label: "Text"
|
||||
label: 'Text'
|
||||
target: text
|
||||
---
|
||||
|
||||
@ -13,6 +13,5 @@ The text widget takes a multiline text field and saves it as a string. For short
|
||||
- **Example:**
|
||||
|
||||
```yaml
|
||||
- {label: "Description", name: "description", widget: "text"}
|
||||
- { label: 'Description', name: 'description', widget: 'text' }
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user