其他分享
首页 > 其他分享> > Markdown编辑器——Editor.md的使用

Markdown编辑器——Editor.md的使用

作者:互联网

最近在写一个个人博客项目,其中用到了一款开源的Markdown文本编辑器——Editor.md,记录一下将其集成到项目中的方法,以及踩的坑。

1. 从官网上下载源码

官网地址:Editor.md - 开源在线 Markdown 编辑器

最新版本: v1.5.0,更新于 2015-06-09 (已经很久没有更新版本了,但在项目中用的还是非常多的)

image-20211111191828698

下载下来之后是一个压缩包,解压

image-20211111192007852

2. 将需要的资源导入项目

创建一个Springboot项目,在resources/statics目录下创建一个lib子目录,用来放项目中需要的页面插件,再创建editormd目录用来放Editor.md的资源。

代码结构如下:

image-20211111192843701

将刚才解压的editor.md-master中的一部分资源拷贝到项目的editormd目录里。

image-20211111193206424

image-20211111193243897

3. 编写页面展示代码

可以参考官方给的例子,在解压后的editor.md-master/examples目录下可以找到很多例子,其实必须要做的只有以下四步。

引入css

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

引入js

<script src="../../static/lib/editormd/editormd.min.js"></script>

在页面创建一个区域用来显示Markdown编辑器

 <!--z-index: number :设置元素的堆叠顺序,number大的排在前面-->
 <div id="md-content" style="z-index: 1 !important">
     <textarea name="content" placeholder="博客内容" style="display: none">                   </textarea>
 </div>

用js初始化这块区域

<script type="text/javascript">
     // 初始化markdown编辑器
     var contentEditor
     $(function() {
         //md-content必须和页面区域的最外层div的id相同
         contentEditor = editormd("md-content", {
             // 在页面显示的宽度
             width   : "100%",
             // 高度
             height  : 640,
             // 单滚动条
             syncScrolling : "single",
             // lib资源的路径
             path    : "../../static/lib/editormd/lib/"
         });
     });
 </script>

4. 最终页面显示效果

image-20211111195423804

5. 踩到的坑

Refused to apply style from 'http://localhost:63342/mysite/templates/static/lib/editormd/lib/codemirror/addon/dialog/dialog.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

image-20211111195608048

原因是初始化markdown编辑器中,lib的路径没有写对。

Uncaught TypeError: Cannot read properties of undefined (reading 'value') at Function.CodeMirror.fromTextArea (codemirror.min.js:40) at init.setCodeMirror (editormd.min.js:2) at editormd.min.js:2 at HTMLScriptElement.t.isIE8.r.onload (editormd.min.js:3)

画面显示区域什么也没显示。

原因是粗心大意,不是class,而应该是id,本质上是初始化markdown编辑器那段js代码里面指定的页面区域的id没有被找到,检查一下两者是不是一致。

image-20211111200156280

标签:md,Markdown,lib,js,editormd,编辑器,Editor,页面
来源: https://blog.csdn.net/weixin_38083551/article/details/121275237