editorjs-inline-tool
Create an inline tool for (https://editorjs.io/) with text formatting tags
(eg. bold
, strong
, em
, u
, ...).
Getting started
npm i editorjs-inline-tool --save
yarn add editorjs-inline-tool
PeerDependencies
You have to install the required peerDependencies, which are listed by the
following command:
npm info "editorjs-inline-tool" peerDependencies
If using npm 5+, use this shortcut:
npx install-peerdeps --dev editorjs-inline-tool
yarn add editorjs-inline-tool -D --peer
Usage
This is an example where GenericInlineTool
is used in a React app (using
@natterstefan/react-editor-js).
But this should work for any other framework as well.
import EditorJs from '@natterstefan/react-editor-js'
import Header from '@editorjs/header'
import Paragraph from '@editorjs/paragraph'
import createGenericInlineTool, {
ItalicInlineTool,
UnderlineInlineTool,
} from 'editorjs-inline-tool'
const TOOLS = {
header: Header,
paragraph: {
class: Paragraph,
inlineToolbar: true,
},
bold: {
class: createGenericInlineTool({
sanitize: {
strong: {},
},
shortcut: 'CMD+B',
tagName: 'STRONG',
toolboxIcon:
'<svg class="icon icon--bold" width="12px" height="14px"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#bold"></use></svg>',
}),
},
italic: ItalicInlineTool,
underline: UnderlineInlineTool,
}
const App = () => {
return <EditorJs tools={TOOLS} data={data} />
}
Configuration
createGenericInlineTool
returns an InlineTool
for EditorJS
. The following
options are available:
Additionally, there are pre-defined inline tools available: ItalicInlineTool
,
StrongInlineTool
and UnderlineInlineTool
(they can be found
here).
Licence
MIT
This project is not affiliated, associated, authorized, endorsed by or in any
way officially connected to EditorJS (editorjs.io).
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!