Giter Club home page Giter Club logo

linecode / react-lz-editor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leejaen/react-lz-editor

0.0 1.0 0.0 3.92 MB

A multilingual react rich-text editor component includes media support such as texts, images, videos, audios, links etc. Development based on Draft-Js and Ant-design, good support html, markdown, draft-raw mode. 一款基于 draft-Js 和 ant-design 实现的 react 富文本编辑器组件,支持文本、图片、视频、音频、链接等元素插入,同时支持HTML、markdown、draft Raw格式。

Home Page: https://leejaen.github.io/react-lz-editor/index.html

License: MIT License

JavaScript 97.31% CSS 1.08% HTML 1.51% Java 0.10%

react-lz-editor's Introduction

/**
* 感谢各位对本仓库的star和关注,以及提出的宝贵意见,万分抱歉没有及时跟进issue list,
* 本仓库最近着手使用ts进行重写,但会保持向下兼容,修复之前出现的问题,增加移动端适配等特性
*/

中文 npm license

react-lz-editor

An open source react rich-text editor ( mordern react editor includes media support such as texts, images, videos, audios, links etc. ), development based on Draft-Js and Ant-design, good support html, markdown, draft-raw mode. It's supports multiple languages well and welcome you add your language supports.

Language Contributors

Li Zhen Li Zhen Boris Chernysh SibaService.inc Quốc Khánh This JJ
Li Zhen Li Zhen Boris Chernysh SibaService.inc Quốc Khánh This JJ
English Chinese (S. & T.) Russian Japanese Vietnamese Thai

Live demo

react-lz-editor: https://leejaen.github.io/react-lz-editor/index.html

Disabled media insert feature on demo page, because of there was no online API support for the time being, here is The server side API demo in java you may want.

Install

npm install react-lz-editor --save
OR
yarn add react-lz-editor

Version note: React 15.4.2+ and react-dom 15.4.2+ is required. Antd version at least from 2.8.3 in your project is recommended.

Git

git+ssh://[email protected]/leejaen/react-lz-editor.git

Usage & Examples

clicking to code example

import React from 'react';
import ReactDOM from 'react-dom';
import LzEditor from './editor/index.jsx'
class Test extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      htmlContent: `<h1>Yankees, Peeking at the Red Sox, Will Soon Get an Eyeful</h1>
                <p>Whenever Girardi stole a glance, there was rarely any good news for the Yankees. While Girardi’s charges were clawing their way to a split of their four-game series against the formidable Indians, the Boston Red Sox were plowing past the rebuilding Chicago White Sox, sweeping four games at Fenway Park.</p>`,
      markdownContent: "## HEAD 2 \n markdown examples \n ``` welcome ```",
      responseList: []
    }
    this.receiveHtml=this.receiveHtml.bind(this);
  }
  receiveHtml(content) {
    console.log("recieved HTML content", content);
    this.setState({responseList:[]});
  }
  render() {
    let policy = "";
    const uploadProps = {
      action: "http://v0.api.upyun.com/devopee",
      onChange: this.onChange,
      listType: 'picture',
      fileList: this.state.responseList,
      data: (file) => {

      },
      multiple: true,
      beforeUpload: this.beforeUpload,
      showUploadList: true
    }
    return (
      <div>
        <div>Editor demo 1 (use default html format ):
        </div>
        <LzEditor active={true} importContent={this.state.htmlContent} cbReceiver={this.receiveHtml} uploadProps={uploadProps}
        lang="en"/>
        <br/>
        <div>Editor demo 2 (use markdown format ):
        </div>
        <LzEditor
          active={true}
          importContent={this.state.markdownContent}
          cbReceiver={this.receiveMarkdown}
          image={false}
          video={false}
          audio={false}
          convertFormat="markdown"/>
      </div>
    );
  }
}

ReactDOM.render(
  <Test/>, document.getElementById('test'));

screenshot

API

props type default description
active bool false Is reloading content after changing
importContent string "" Editor content value, default to ""
lang string "" Editor using language, default to your browser language settings
cbReceiver function null Callback function, the changed value will be sent to its parameter.
undoRedo bool true Enabled undo and redo feature, default to true
removeStyle bool true Enabled remove style feature, default to true
pasteNoStyle bool true Enabled paste plan text feature, default to true
blockStyle bool true Enabled block style (H1,ol,pre etc.) feature, default to true
alignment bool true Enabled text alignment feature, default to true
inlineStyle bool true Enabled inline style (bold, italic, underline etc.) feature, default to true
color bool true Enabled color text feature, default to true
image bool true Enabled insert image feature, default to true
video bool true Enabled insert video feature, default to true
audio bool true Enabled insert audio feature, default to true
urls bool true Enabled add hyper link feature, default to true
autoSave bool true Enabled auto save to draft-box feature, default to true
fullScreen bool true Enabled full screen feature, default to true
convertFormat string "html" Set support format (html, markdown, raw), default to "html"
disabled bool false Disabled editor or not
uploadProps object null Customize uploading settings. API: Antd.Upload

react-lz-editor's People

Contributors

afc163 avatar bkdev98 avatar fameoflight avatar kirkcola avatar leejaen avatar life88 avatar m-ueta avatar marshalys avatar modestfake avatar pmg1989 avatar thisjj avatar twisger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.