html+js 实现markdown编辑器效果


Posted in HTML / CSS onOctober 23, 2019

markdown的Editor.md插件官方网站:https://pandao.github.io/editor.md/

一:下载Editor.md

1:进入官网直接进行下载

github下载地址:https://github.com/pandao/editor.md

2:使用npm进行下载

npm install editor.md

下载下来的文件结构如下:

html+js 实现markdown编辑器效果

二:Editor.md的简单使用

1:前提:

引入css

<link rel="stylesheet" href="editormd/css/editormd.css" />

引入js

<script src="js/jquery.min.js"></script>
<script src="editormd/editormd.min.js"></script>

2:html+js实现markdown效果

<link rel="stylesheet" href="editormd/css/editormd.css" />
<div id="test-editor">
<textarea style="display:none;" class="content-markdown" name="content-markdown"></textarea>
</div>
<script src="js/jquery.min.js"></script>
<script src="editormd/editormd.min.js"></script>
<script type="text/javascript">
    $(function() {
      var editor = editormd("test-editor", {
        width  : "100%",            //宽度,不填为100%
        height : "500px",           //高度,不填为100%
        theme : "dark",             //主题,不填为默认主题
        path   : "editormd/lib/",   //editor.md插件的lib目录地址
        saveHTMLToTextarea : true, // 保存 HTML 到 Textarea
        toolbarAutoFixed:true,      //工具栏自动固定定位的开启与禁用
      });
    });
</script>

根据如上代码就可以实现markdown编辑器效果

html+js 实现markdown编辑器效果

但是如上代码没有本地上传图片功能,如果你需要本地上传图片功能,js代码修改如下:

$(function() {
    var editor = editormd("test-editor", {
        width  : "100%",            //宽度,不填为100%
        height : "500px",           //高度,不填为100%
        theme : "dark",             //主题,不填为默认主题
        path   : "editormd/lib/",   //editor.md插件的lib目录地址
        saveHTMLToTextarea : true, // 保存 HTML 到 Textarea
        toolbarAutoFixed:true,      //工具栏自动固定定位的开启与禁用
        imageUpload : true,         //运行本地上传
        imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],    //允许上传的文件格式
        imageUploadURL : "/index.php?r=markdown/upload"                 //上传的后台服务器路径
    });
});

后端上传的简单实现如下(这里上传我使用了Yii框架的intervention/image插件)

Yii::$app->response->format = Response::FORMAT_JSON;
$upload = \Intervention\Image\ImageManagerStatic::make($_FILES['editormd-image-file']['tmp_name'])->save('upload/upload.jpg');//file为上传表单的name名
if ($upload) {
    return [
        'success' => 1,
        'message' => '上传成功',
        'url' => 'upload/upload.jpg'
    ];
} else {
    return [
        'success' => 0,
        'message' => '上传失败',
    ];
}

根据如上代码就可以实现在markdown编辑器中上传本地图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
Jun 03 HTML / CSS
CSS3中31种选择器使用方法教程
Dec 05 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
Jun 13 HTML / CSS
纯css3制作煽动翅膀的蝴蝶的示例
Apr 23 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
HTML5是否真的可以取代Flash
Feb 10 HTML / CSS
程序设计HTML5 Canvas API
Apr 08 HTML / CSS
HTML5 embed标签定义和用法详解
May 09 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 HTML / CSS
CSS实现fullpage.js全屏滚动效果的示例代码
Mar 24 HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
Apr 24 HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
Jul 16 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
Oct 14 #HTML / CSS
HTML table 表格边框的实现思路
Oct 12 #HTML / CSS
Html5自定义字体解决方法
Oct 09 #HTML / CSS
webView加载html图片遇到的问题解决
Oct 08 #HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
Oct 08 #HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
Oct 08 #HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 #HTML / CSS
You might like
php中的一些数组排序方法分享
2012/07/20 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
python编写简单端口扫描器
2019/09/04 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
Python list和str互转的实现示例
2020/11/16 Python
自荐信的禁忌和要点
2013/10/15 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
旷课检讨书500字
2014/10/14 职场文书
综合测评自我评价
2015/03/06 职场文书
语文教师求职信范文
2015/03/20 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记