# editor.md
editor.md 是开源在线 Markdown 编辑器,在原功能上增加了粘贴、拖放上传图片功能,细节可以参考 [Editor.md官网](https://pandao.github.io/editor.md/)
![](https://box.kancloud.cn/8018f3e40c04934a7ed2a6e30375cc15_1600x632.png)
## 前台
```
<div id="editormd">
<textarea style="display:none;"></textarea>
</div>
<script>
require(['hdjs'], function (hdjs) {
hdjs.editormd("editormd", {
width: '100%',
height: 300,
toolbarIcons : function() {
return [
"bold", "del", "italic", "quote","|",
"list-ul", "list-ol", "hr", "|",
"link", "hdimage", "code-block", "|",
"watch", "preview", "fullscreen"
]
},
//后台上传地址,默认为 hdjs配置项window.hdjs.uploader
server:'',
//editor.md库位置
path: "{{asset('org/hdjs')}}/package/editor.md/lib/"
});
});
</script>
```
* laravel等框架使用是在 head 标签添加 `<meta name="csrf-token" content="{{ csrf_token() }}">`
* 系统用 window.editormd (id值) 记录编辑器对象,可以使用editormd编辑器系统方法了,比如选择内容等。
*
## 后台
粘贴上传是BASE64格式需要特殊处理一下,下面是Laravel框架的代码,上传功能使用的是 [Laravel-upload组件](https://github.com/houdunwang/laravel-upload)
```
...
public function upload(Request $request)
{
//普通上传
if ($request->file('file')) {
$event = new UploadEvent($request->file('file'));
event($event);
#上传成功的文件
return ['file' => url($event->getFile()), 'code' => 0];
} elseif ($content = $request->input('file')) {
//粘贴上传BASE64图片,如editor.md编辑器中的使用
$imgdata = substr($content, strpos($content, ",") + 1);
$decodedData = base64_decode($imgdata);
$fileName = 'uploads/' . date('ym/d') . '/' . str_random(10) . microtime(true) . '.jpeg';
file_put_contents($fileName, $decodedData);
return ['file' => url($fileName), 'code' => 0];
}
}
```
## 代码高亮
```
<div class="markdown" id="content">
<textarea hidden># 这里是markdown内容 </textarea>
</div>
<script>
require(['hdjs', 'marked', 'MarkdownIt', 'highlight'], function (hdjs, marked, MarkdownIt) {
//转markdown为html
let md = new MarkdownIt();
$("#content").html(md.render($("#content textarea").val()));
//代码高亮
$('pre code').each(function (i, block) {
hljs.highlightBlock(block);
});
})
</script>
```
- 文档已经迁移到后盾人
- 基础知识
- 项目介绍
- 安装配置
- 日期时间
- 日期选择
- 列表框日期
- 日期区间
- 时间选择
- moment
- 上传处理
- 初始配置
- 图片上传
- 文件上传
- 消息通知
- 消息通知
- Bootstrap消息
- izitoast
- SweetAlert
- 模态框
- 表单管理
- 异步请求
- 表单提交
- 表单验证
- 扩展组件
- GET参数
- 剪贴板
- 表情选择
- 图表
- 拾色器
- 二维码生成
- 光标控制
- 数据验证
- md5
- 设备检测
- Loading
- 预览图片
- 图标库
- COOKIE
- 百度地图
- 城市选择
- Vue.js
- jQuery
- axios
- 播放器
- 幻灯片
- 代码高亮
- 阿里云OSS
- 验证码
- 页面滚动
- lodash
- momentjs
- markdownIt
- 元素页面固定
- 编辑器
- ueditor
- editor.md
- SimpleMDE
- simditor
- 自定义组件
- 1.0(旧版)
- 基础知识
- 作者向军
- 安装配置
- 查看效果
- 元素样式
- 日期时间
- 日期选择
- 日期区间
- 时间选择
- moment
- 上传处理
- 图片上传
- 文件上传
- 后台处理
- 模态消息
- 模态
- notify
- bootstrap
- 表单管理
- 表单提交
- 表单验证
- 表单样式
- 扩展组件
- 自定义组件
- get参数
- 剪贴板
- 表情选择
- 图表
- 拾色器
- 二维码生成
- 光标控制
- 数据验证
- MD5
- loading
- 预览图片
- 图标库
- COOKIE
- 百度地图
- 城市选择
- Vuejs
- jQuery
- 播放器
- 幻灯片
- axios
- 代码高亮
- 阿里云OSS
- 验证码
- 正则表达式
- 工具函数
- 编辑器
- 百度编辑器
- markdown
- simplemde-markdow