textarea 输⼊框 转换为markdown编辑器
- textarea框通过div包裹设置id,后续在md配置中,需要只用此id
<div id='editor'>.... </div>
- 应⽤用js和css
<link rel="stylesheet" href="css路径">
<script src="js路径"></script>
- 初始化
function initMDeditor() {
editormd('editor', {
placeholder: '请输入内容',
height: 600,
path: '{% static 'plugins/editor-md/lib/' %}', // 配置md编辑器依赖的文件路径
imageUpload: true, // 让markdown支持本地上传文件,默认不支持
imageFormats: ['jpg', 'jpeg', 'png', 'gif'], // 支持上传的图片格式
imageUploadURL: ..., // 配置文件上传的地址
toolbarIcons: function () { //自定义配置md自带按钮
return ["bold", "hr", "del", "italic", "quote", "|", "image", "preview", "watch", "fullscreen", "||", "save"]
}, // || 表示靠右侧显示
toolbarCustomIcons: { // 自定义添加按钮
save: "<input type='button' value='保 存' class='btn btn-success btn-sm' οnclick='saveDesc();' />"
},
onload: function () { //加载时显示预览窗口
this.previewing();
})
}
- 如果全屏遇到显示问题,通过z-index设置高层级
editormd-fullscreen{
z-index: 1001;
}
预览⻚页⾯面按照markdown格式显示
- 内容区域使用div,并设置id
<div id="previewMarkdown">
<textarea>...</textarea>
</div>
- 引⼊入css 、 js
<link rel="stylesheet" href="{% static 'plugin/editor-
md/css/editormd.preview.min.css' %}">
<script src="{% static 'plugin/editor-md/editormd.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/marked.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/prettify.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/raphael.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/underscore.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/sequence-diagram.min.js'
%}"></script>
<script src="{% static 'plugin/editor-md/lib/flowchart.min.js' %}"></script>
<script src="{% static 'plugin/editor-md/lib/jquery.flowchart.min.js'
%}"></script>
- 初始化
$(function () {
initPreivewMarkdown();
});
function initPreivewMarkdown() {
editormd.markdownToHTML("previewMarkdown", {
htmlDecode: "style,script,iframe"
});
}
总结:
通过markdown插件进行输入和预览步骤基本相同,分为三步:
- 通过对text的div 配置id
- 引入markdown编辑器的css和js文档
- 进行初始化配置。
配置的其他参数,可以参考官方文档