editor.js/docs/usage.md
2019-06-12 20:38:16 +03:00

106 lines
2.7 KiB
Markdown

# So how to use Editor.js
## Basics
Editor.js is a Block-Styled editor. Blocks is a structural units, of which the Entry is composed.
For example, `Paragraph`, `Heading`, `Image`, `Video`, `List` are Blocks. Each Block is represented by a Plugin.
We have [many](http://github.com/editor-js/) ready-to-use Plugins and the [simple API](tools.md) for creation new ones.
So how to use the Editor after [Installation](installation.md).
- Create new Blocks by Enter or with the Plus Button
- Press `TAB` or click on the Plus Button to view the Toolbox
- Press `TAB` again to leaf Toolbox and select a Block you need. Then press Enter.
![](https://github.com/editor-js/list/raw/master/assets/example.gif)
- Select text fragment and apply a style or insert a link from the Inline Toolbar
![](https://capella.pics/7ccbcfcd-1c49-4674-bea7-71021468a1bd.jpg)
- Use «three-dots» button on the right to open Block Settings. From here, you can move and delete a Block
or apply Tool's settings, if it provided. For example, set a Heading level or List style.
![](https://capella.pics/01a55381-46cd-47c7-b92e-34765434f2ca.jpg)
## Shortcuts
We really appreciate shortcuts. So there are few presets.
Action | Shortcut | Restrictions
-- | -- | --
`TAB` | Show/leaf a Toolbox. | On empty block
`SHIFT+TAB` | Leaf back a Toolbox. | While Toolbox is opened
`ENTER` | Create a Block | While Toolbox is opened and some Tool is selected
`CMD+B` | Bold style | On selection
`CMD+I` | Italic style | On selection
`CMD+K` | Insert a link | On selection
Also we support shortcuts on the all type of Tools. Specify a shortcut with the Tools configuration. For example:
```js
var editor = new EditorJS({
//...
tools: {
header: {
class: Header,
shortcut: 'CMD+SHIFT+H'
},
list: {
class: List,
shortcut: 'CMD+SHIFT+L'
}
}
//...
});
```
## Autofocus
If you want to focus Editor after page has been loaded, you can enable autofocus by passing `autofocus` to the initial config
```js
var editor = new EditorJS({
//...
autofocus: true
//...
});
```
## Holder
The `holder` property supports an id or a reference to dom element.
```js
var editor = new EditorJS({
holder: document.querySelector('.editor'),
})
var editor2 = new EditorJS({
holder: 'codex-editor' // like document.getElementById('codex-editor')
})
```
## Placeholder
By default Editor\`s placeholder is empty.
You can pass your own placeholder via `placeholder` field:
```js
var editor = new EditorJS({
//...
placeholder: 'My awesome placeholder'
//...
});
```
If you are using your custom `Initial Block`, `placeholder` property is passed in `config` to your Tool constructor.