SamyPesse / draft-js-prism

Code highlighting for DraftJS using Prism
http://samypesse.github.io/draft-js-prism/
Apache License 2.0
275 stars 36 forks source link

draft-js-prism

NPM version Build Status

draft-js-prism is a decorator for DraftJS to highlight code blocks using Prism.

Note: It only decorates code blocks with syntax highlighting, if you're interested in providing a correct edition UX for code blocks, take a look at draft-js-code.

Prism

Installation

$ npm install draft-js-prism prismjs

Usage

var Draft = require('draft-js');
var PrismDecorator = require('draft-js-prism');
var Prism = require('prismjs')

var decorator = new PrismDecorator({
  // Provide your own instance of PrismJS
  prism: Prism,
});
var editorState = Draft.EditorState.createEmpty(decorator)

You'll also need to include the css for one of the Prism themes.

Usage with draft-js-plugins

If you're using draft-js-plugins simply use the draft-js-prism-plugin, a wrapper around this decorator.

Usage with other decorators

You can use this decorator combined with others by using draft-js-multidecorators