Awesome
Heading Tool with anchor
Provides Headings Blocks with the ability to set an anchor text for the Editor.js. Forked by Header Tool
Screenshot
Installation
Install via NPM
Get the package
npm i --save editorjs-header-with-anchor
Include module at your application
const Header = require('editorjs-header-with-anchor');
Download to your project's source dir
- Upload folder
dist
from repository - Add
dist/bundle.js
file to your page.
Usage
Add a new Tool to the tools
property of the Editor.js initial config.
var editor = EditorJS({
...
tools: {
...
header: Header,
},
...
});
Available characters: all Latin letters, digitals, dash, and underscore.
In the cyrToLat
branch, you can find additional functionality: Cyrillic characters are replaced by Latin letters,
for example, ш
to sch
.
In the maxLength
branch, you can find additional functionality: If you want to set the maximum length of the header text, you need to set the checkHeaderLength
parameter to TRUE
in the config.
In the cyrToLat_with_maxLength
branch, you can find additional features from branches cyrToLat
and maxLength
at the same time.
P.S. The anchor value is displayed next to the header block only when there is text in the header block.
Shortcut
You can insert this Block by a useful shortcut. Set it up with the tools[].shortcut
property of the Editor's initial config.
var editor = EditorJS({
...
tools: {
...
header: {
class: Header,
shortcut: 'CMD+SHIFT+H',
},
},
...
});
Config Params
All properties are optional.
Field | Type | Description |
---|---|---|
placeholder | string | header's placeholder string |
levels | number[] | enabled heading levels |
defaultLevel | number | default heading level |
allowAnchor | boolean | Anchor enabling (default: true ) |
anchorLength | number | Anchor length (default: 50 ) |
var editor = EditorJS({
...
tools: {
...
header: {
class: Header,
config: {
placeholder: 'Enter a header',
levels: [2, 3, 4],
defaultLevel: 3,
allowAnchor: true,
anchorLength: 100,
}
}
}
...
});
Output data
Field | Type | Description |
---|---|---|
text | string | header's text |
level | number | level of header: 1 for H1, 2 for H2 ... 6 for H6 |
anchor | string | anchor's text |
{
"type": "header",
"data": {
"text": "Why Telegram is the best messenger",
"level": 2,
"anchor": "Anchor"
}
}