GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - withspectrum/draft-js-code-editor-plugin: Add IDE-like behaviours to code blocks in your DraftJS editors

This repository was archived by the owner on Oct 11, 2022. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

38 Commits
38 Commits

Folders and files

NameName
Last commit message
Last commit date
flow-typed/npm
flow-typed/npm
 
 
src
src
 
 
.babelrc
.babelrc
 
 
.flowconfig
.flowconfig
 
 
.gitignore
.gitignore
 
 
.npmignore
.npmignore
 
 
.prettierrc
.prettierrc
 
 
.travis.yml
.travis.yml
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
package.json
package.json
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

draft-js-code-editor-plugin

Add IDE-like behaviours to code blocks in your DraftJS editor. Meant to be used with draft-js-plugins.

Note: If you're not using draft-js-plugins you can also use the lower-level draft-js-code library.

Functionality

  • Insert indentation on tab
  • Preserve indentation of current line when pressing enter
  • Remove indentation correctly with backspace
  • More to come!

Usage

First, install the plugin:

npm install --save draft-js-code-editor-plugin

Then pass it to the plugins prop of the draft-js-plugins editor:

import React, { Component  } from 'react';
import Editor from 'draft-js-plugins-editor';
import createCodeEditorPlugin from 'draft-js-code-editor-plugin';
import { EditorState  } from 'draft-js';

export default class DemoEditor extends Component {
  state = {
    editorState: EditorState.createEmpty(),
    plugins: [createCodeEditorPlugin()]      
  };

  onChange = (editorState) => {
    this.setState({
      editorState,          
    });
  };

  render() {
    return (
      <Editor
        editorState={this.state.editorState}
        onChange={this.onChange}
        plugins={this.state.plugins}
      />
    );  
  }
}

Add code block syntax highlighting

Using the draft-js-prism-plugin you can easily add syntax highlighting support to your code blocks!

// Install prismjs and draft-js-prism-plugin
import Prism from 'prismjs';
import createPrismPlugin from 'draft-js-prism-plugin';

class Editor extends Component {
  state = {
    plugins: [
    // Add the Prism plugin to the plugins array 
      createPrismPlugin({
        prism: Prism
      }),
      createCodeEditorPlugin()
    ]
  };
}

License

Licensed under the MIT License, Copyright ©️ 2017 Space Program Inc. See LICENSE.md for more information.

About

Add IDE-like behaviours to code blocks in your DraftJS editors

Topics

codedraft-jsdraft-js-pluginsdraftjseditor

Resources

Readme
MIT license
Activity
Custom properties

Stars

38 stars

Watchers

0 watching

Forks

3 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.