# editor.md
editor.md 是開源在線 Markdown 編輯器,在原功能上增加了粘貼、拖放上傳圖片功能,細節可以參考 [Editor.md官網](https://pandao.github.io/editor.md/)

## 前臺
```
<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