React SimpleMDE Markdown Editor,支持 Emoji 表情
React SimpleMDE Markdown Editor
- 演示地址:https://www.einsition.com/demos/yt-simplem...
- github:https://github.com/yanthink/react-simplemd...
特性
- 支持粘贴和拖拽上传图片。
- 支持自定义预览渲染
- 支持emoji表情
安装
npm install -S yt-simplemde-editor
使用
您可以在 demo 中查看基本用法。
Demo
git clone https://github.com/yanthink/react-simplemde-editor
cd react-simplemde-editor
npm install
npm run build
npm link
cd demo
npm install
npm link yt-simplemde-editor
npm start
API
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
id | 编辑器id | string | - |
className | 根元素的类名称 | string | - |
label | label | string | - |
uploadOptions | 上传附件参数 | UploadOptions | - |
theme | 主题设置 | string | - |
getMdeInstance | 获取编辑器实例方法 | simplemde => void | - |
extraKeys | 快捷键设置,详见 extraKeys | object | - |
value | 初始化内容 | string | - |
onChange | 内容发生改变时触发 | value => void | - |
options | SimpleMDE选项 | object | - |
emoji | emoji参数 | Emoji | - |
UploadOptions
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
action | 上传的地址 | string | 无 |
name | 发到后台的文件参数名 | string | file |
jsonName | 后台响应的文件地址名称 | string | fileUrl |
allowedTypes | 接受上传的文件类型 | string | array | image/* |
progressText | 上传中显示内容 | string | ![Uploading file...]() |
data | 上传所需参数 | object | file => object | - |
headers | 设置上传的请求头部 | object | - |
withCredentials | 上传请求时是否携带 cookie | boolean | false |
beforeUpload | 上传文件之前的钩子,参数为上传的文件,若返回 false 则停止上传 | (file) => boolean | Promise | - |
onSuccess | 上传成功事件 | (response, file) => any | - |
onError | 上传失败事件 | (err, response, file) => any | - |
Emoji
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
enabled | 是否开启 | boolean | false |
autoComplete | 是否开启 shortname 自动补全 | boolean | false |
insertConvertTo | 插值转换,可选值 shortname ,unicode |
string | shortname |
效果图:
本作品采用《CC 协议》,转载必须注明作者和本文链接
请问为什么拖拽的图片返回的地址
是这样的?
@zhangzijian markdown 图片就是这种格式的,你可以点击预览看效果。
还有 jsonFieldName 这个字段得根据你 uploadUrl 响应的数据结构来设置
上传图片可不可以支持上传本地图片,就是那种常规上传的样式?
@yujian2018
本地上传需要自己实现,这里提供一个以前写的 demo 给你参考下
你好,源代码仓库yt-simplemde-editor 按照readme在demo中执行npm install 时报错, emoji-assets包出错
@yujian2018
emoji-assets
这个包之前在 npm 的版本是4.5,所以我用了 git 地址,这个项目比较大,所以install时可能会比较慢。现在 npm 已经更新到 5.0.2 了,你可以修改
demo/package.json
文件:然后在用淘宝镜像 cnpm install
@yujian2018
你也可以不用
emoji-assets
包,emoji-toolkit 会默认使用 CDN(jsdelivr)地址。不错,给你个start
不会用
而且下载你的demo 运行报错