• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

react-markdown-editor-lite: 一款轻量的基于React的markdown编辑器

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

react-markdown-editor-lite

开源软件地址:

https://gitee.com/mirrors/react-markdown-editor-lite

开源软件介绍:

react-markdown-editor-lite

NPM packageNPM downloadsMIT LicenseWorkflow

English Docs

  • A light-weight(20KB zipped) Markdown editor of React component
  • Supports TypeScript
  • Supports custom markdown parser
  • Full markdown support
  • Supports pluggable function bars
  • Full control over UI
  • Supports image uploading and dragging
  • Supports synced scrolling between editor and preview
  • 一款轻量的基于 React 的 Markdown 编辑器, 压缩后代码只有 20KB
  • 支持 TypeScript
  • 支持自定义 Markdown 解析器
  • 支持常用的 Markdown 编辑功能,如加粗,斜体等等...
  • 支持插件化的功能键
  • 界面可配置, 如只显示编辑区或预览区
  • 支持图片上传或拖拽
  • 支持编辑区和预览区同步滚动

案例

在线案例
https://harrychen0506.github.io/react-markdown-editor-lite/

默认配置

image

可插拔的功能键

image

安装

npm install react-markdown-editor-lite --save# oryarn add react-markdown-editor-lite

基本使用

基本使用分为以下几步:

  • 导入 react-markdown-editor-lite
  • 注册插件(如果需要)
  • 初始化任意 Markdown 解析器,例如 markdown-it
  • 开始使用
// 导入React、react-markdown-editor-lite,以及一个你喜欢的Markdown渲染器import React from 'react';import MarkdownIt from 'markdown-it';import MdEditor from 'react-markdown-editor-lite';// 导入编辑器的样式import 'react-markdown-editor-lite/lib/index.css';// 注册插件(如果有的话)// MdEditor.use(YOUR_PLUGINS_HERE);// 初始化Markdown解析器const mdParser = new MarkdownIt(/* Markdown-it options */);// 完成!function handleEditorChange({ html, text }) {  console.log('handleEditorChange', html, text);}export default props => {  return (    <MdEditor style={{ height: '500px' }} renderHTML={text => mdParser.render(text)} onChange={handleEditorChange} />  );};

在 SSR(服务端渲染)中使用

如果你在使用一个服务端渲染框架,例如 Next.js、Gatsby 等,请对编辑器使用客户端渲染。

例如,Next.js 有next/dynamic,Gatsby 有loadable-components

下面是 Next.js 的使用范例:

import dynamic from 'next/dynamic';import 'react-markdown-editor-lite/lib/index.css';const MdEditor = dynamic(() => import('react-markdown-editor-lite'), {  ssr: false,});export default function() {  return <MdEditor style={{ height: '500px' }} renderHTML={/* Render function */} />;}

与插件一起使用:

import dynamic from 'next/dynamic';import 'react-markdown-editor-lite/lib/index.css';const MdEditor = dynamic(  () => {    return new Promise(resolve => {      Promise.all([        import('react-markdown-editor-lite'),        import('./my-plugin'),        /** 按照这样加载更多插件,并在下方 use */      ]).then(res => {        res[0].default.use(res[1].default);        resolve(res[0].default);      });    });  },  {    ssr: false,  },);export default function() {  return <MdEditor style={{ height: '500px' }} renderHTML={/* Render function */} />;}

完整示例见此

浏览器引入

自 1.1.0 起,你可以在浏览器中使用scriptlink标签直接引入文件,并使用全局变量ReactMarkdownEditorLite

你可以通过 cdnjs jsdelivr unpkg 进行下载。

注意:ReactMarkdownEditorLite(RMEL) 依赖 react,请确保其在 RMEL 之前引入。

例如,使用 webpack 时,你可以在页面中通过script引入 ReactMarkdownEditorLite 的 JS 文件,并在 webpack 配置中写:

externals: {  react: 'React',  'react-markdown-editor-lite': 'ReactMarkdownEditorLite'}

更多示例

主要作者

License

MIT


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap