A markdown plugin for slate framework
npm install @canner/slate-md-pluginA markdown plugin for slate framework
```
npm i @canner/slate-md-plugin
`js
import MarkdownPlugin from '@canner/slate-md-plugin';
const plugins = [
MarkdownPlugin(options)
]
onChange={this.onChange}
plugins={plugins}
/>
`
MarkdownPlugin also use many other plugins as dependencies, and allows you to pass their customized settings.
Additionally, _blocks, marks, inlines_ default types are the same as Markup-it.
`js
// Default settings
{
blocks: BLOCKS, // https://github.com/GitbookIO/markup-it/blob/master/src/constants/blocks.js
marks: MARKS, // https://github.com/GitbookIO/markup-it/blob/master/src/constants/marks.js
inlines: INLINES, // https://github.com/GitbookIO/markup-it/blob/master/src/constants/inlines.js
codeOption: {
// https://github.com/GitbookIO/slate-edit-code
onlyIn: node => node.type === BLOCKS.CODE
},
blockquoteOption: {
// https://github.com/GitbookIO/slate-edit-blockquote
},
listOption: {
// https://github.com/GitbookIO/slate-edit-list
}
}
`
If you want to change a type, you could set that specific key type alone, without all types.
For example, you want to change BOLD default type to bold_type. Just pass object as below
`js`
{
marks: {
BOLD: "bold_type";
}
}
This will replace default BOLD setting to your new setting.
* Blockquote
* Code block (inline)
* Code block (triple backticks)
* Header
* Bold
* Italic
* Bold + Italic
* Strikethrough
* Hr
* Link
* Image
* Unordered List
* Ordered List
In editor enter:
``
>[space]Blockquote
_Hot key_
Ctrl+opt+q
In editor enter:
``
[space * 4]Code block
In editor enter:
` * 3][space] Code block
[
``
Use specific language:
` * 3][lang][space] Code block
[
``
for example:
`js`
const wow = test();
_Hot key_
CMD+Enter: to exit code block
In editor enter:
``
[# * 1~6][space] Header
Example
``h1
h2
$3
#### h4
##### h5
###### h6
_Hot keys_
Header 1
Ctrl+opt+1
Header 2
Ctrl+opt+2
Header 3
Ctrl+opt+3
Header 4
Ctrl+opt+4
Header 5
Ctrl+opt+5
Header 6
Ctrl+opt+6
In editor enter:
``
strong[space]
or
__strong__[space]
_Hot key_
CMD+b
In editor enter:
``
_italic_[space]
or
italic[space]
_Hot key_
CMD+i
In editor enter:
``
___[strong + italic]___[space]
or
[strong + italic][space]
In editor enter:
``
~[strikethrough]~[space]
_Hot key_
Ctrl+Opt+d
In editor enter:
``
*
or
---
In editor enter:
``
example[space]
In editor enter:
``
!example[space]
In editor enter:
``
*[space]
or
+[space]
or
-[space]
In editor enter:
```
1.[space]