Created
March 17, 2020 21:45
-
-
Save runeb/276b89b30a1c2fdcdb173131009fbbd0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { FaExternalLinkAlt } from 'react-icons/fa' | |
/** | |
* This is the schema definition for the rich text fields used for | |
* for this blog studio. When you import it in schemas.js it can be | |
* reused in other parts of the studio with: | |
* { | |
* name: 'someName', | |
* title: 'Some title', | |
* type: 'blockContent' | |
* } | |
*/ | |
export default { | |
title: 'Block Content', | |
name: 'blockContent', | |
type: 'array', | |
of: [ | |
{ | |
title: 'Block', | |
type: 'block', | |
// Styles let you set what your user can mark up blocks with. These | |
// corrensponds with HTML tags, but you can set any title or value | |
// you want and decide how you want to deal with it where you want to | |
// use your content. | |
styles: [ | |
{ title: 'Normal', value: 'normal' }, | |
{ title: 'H1', value: 'h1' }, | |
{ title: 'H2', value: 'h2' }, | |
{ title: 'H3', value: 'h3' }, | |
{ title: 'H4', value: 'h4' }, | |
{ title: 'Quote', value: 'blockquote' } | |
], | |
lists: [ | |
{ title: 'Bullet', value: 'bullet' }, | |
{ title: 'Number', value: 'number' } | |
], | |
// Marks let you mark up inline text in the block editor. | |
marks: { | |
// Decorators usually describe a single property – e.g. a typographic | |
// preference or highlighting by editors. | |
decorators: [{ title: 'Strong', value: 'strong' }, { title: 'Emphasis', value: 'em' }], | |
// Annotations can be any object structure – e.g. a link or a footnote. | |
annotations: [ | |
{ | |
title: 'External Link', | |
name: 'link', | |
type: 'object', | |
blockEditor: { | |
icon: FaExternalLinkAlt | |
}, | |
fields: [ | |
{ | |
title: 'URL', | |
name: 'href', | |
type: 'url', | |
validation: Rule => | |
Rule.uri({ | |
allowRelative: true, | |
scheme: ['https', 'http', 'mailto', 'tel'] | |
}) | |
}, | |
{ | |
title: 'Open in new tab', | |
name: 'blank', | |
description: 'Read https://css-tricks.com/use-target_blank/', | |
type: 'boolean' | |
} | |
] | |
} | |
] | |
} | |
}, | |
// You can add additional types here. Note that you can't use | |
// primitive types such as 'string' and 'number' in the same array | |
// as a block type. | |
{ | |
type: 'image' | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment