Editor.md 简单使用(一)——编写内容

楔子

感觉CSDN的博客md博客编写器很不错。找了个开源md文件编辑器,想试着模仿一下,感谢Editor.md 的创造者。

1效果图

这里写图片描述

2内容处理

2.1页面编写

需要引入的CSS和js
<link rel="stylesheet" type="text/css" href="${proPath }/js/md/editormd.min.css" />
<script src="${proPath }/js/md/editormd.js" type="text/javascript" charset="utf-8"></script>

页面内容

<!-- 构造form表单,以便提交数据-->
<form id="formBlog" action="${proPath }/blog/getWrite" method="post">
    <input id="blog_title" name="title" value="" style="display: none;"></input>
    <textarea id="blog_md" name="md" value="" style="display: none;"></textarea>
    <textarea id="blog_html" name="html" value="" style="display: none;"></textarea>
</form>
<div class="row">
    <div class="panel panel-primary">
        <div class="page-header">
            <div class="panel-heading">
                <div class="row">
                    <div class="col-md-8 col-md-offset-2 col-sm-3">
                        <input type="text" class="form-control" id="art-head" name="art-head" placeholder="标题">
                    </div>
                    <div class="col-md-2 col-sm-1">
                        <button class="btn btn-success btn-blog-save">发布内容</button>
                    </div>
                </div>
            </div>
        </div>
        <div class="panel-body">
            <div class="row">
                <!-- md文件编辑器编辑区域 后续js中会使用到 -->
                <div id="blog_mdedit"></div>
            </div>
        </div>
    </div>
</div>

js初始化编辑区域

<script type="text/javascript">
    $(function() {
        navAddClass('read_write');
        md_edit = editormd("blog_mdedit", { //注意1:这里的就是上面的DIV的id属性值
            placeholder : '  欢迎使用'+'${title}' +" 博客",
            width : "90%",
            height : 400,
            syncScrolling : "single",
            emoji : true,
            path : "${proPath }/js/md/lib/", //注意2:你的路径
            saveHTMLToTextarea : true,
            tocm : true, // Using [TOCM]
            tex : true, // 开启科学公式TeX语言支持,默认关闭
            flowChart : true, // 开启流程图支持,默认关闭
            /* 上传图片配置 */
            imageUpload : true,
            imageFormats : [ "jpg", "jpeg", "gif", "png", "bmp", "webp" ],
            imageUploadURL : "${proPath }/base/blog/upFile", //注意你后端的上传图片服务地址
        });
    });
</script>

注意事项

1.图片上传参考我的另一篇

https://blog.csdn.net/u012848709/article/details/80537827

  1. 在测试的时候,会发现一些图片,字体显示有问题,在浏览器里面,打开开发者工具,观察报错信息,因为你的md 的js存放的位置不同,你需要结合浏览器报错,把相关的字体,图片放在报错提示的位置

3内容提交

此处我是使用 jquery.form.min.js 提交。构造一个form表单,把md文件编辑器里面的内容放入到表单提交,代码如下(注意,表单是使用 textarea 存放内容)

<!-- 构造form表单,以便提交数据-->
<form id="formBlog" action="${proPath }/blog/getWrite" method="post">
    <input id="blog_title" name="title" value="" style="display: none;"></input>
    <textarea id="blog_md" name="md" value="" style="display: none;"></textarea>
    <textarea id="blog_html" name="html" value="" style="display: none;"></textarea>
</form>

js提交表单数据

<script type="text/javascript">
$('.btn-blog-save').click(function() {
        $("#formBlog")[0].reset();//清空表单数据,避免上次数据干扰
        $("#blog_title").val($("#art-head").val());
        $("#blog_md").val(md_edit.getMarkdown());//md格式内容,使用md的js获取
        $("#blog_html").val(md_edit.getHTML());
        $("#formBlog").ajaxSubmit({
            success : function(da) {
                $.scojs_message('发布成功', $.scojs_message.TYPE_OK);
                var uname='${logUser.username}';
                if(uname||uname==''){
                    uname='zhuzi';
                }
                location='${proPath}/blog/'+uname;
            }
        });
    });
</script>
  • 8
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
Editor.md 是一个基于 Markdown 编辑器的开源项目,可以方便地在 Web 应用中使用。而 Flask 是一个轻量级的 Python Web 框架,非常适合用于构建小型的 Web 应用程序。下面是 Editor.md 在 Flask 中的使用方法。 首先,我们需要使用以下命令安装 editor.md: ``` npm install editor.md ``` 安装完成后,我们可以在 Flask 项目中创建一个静态文件夹(例如 static),将编辑器的 JS 和 CSS 文件放入其中。 在 Flask 的路由文件中,我们可以添加以下代码来渲染编辑器页面: ```python from flask import Flask, render_template app = Flask(__name__) @app.route('/editor') def editor(): return render_template('editor.html') if __name__ == '__main__': app.run() ``` 在 templates 文件夹中创建一个名为 editor.html 的模板文件,其中包含编辑器的 HTML 结构和必要的脚本引入。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Editor</title> <link rel="stylesheet" href="{{ url_for('static', filename='editor.md/css/editormd.css') }}"> </head> <body> <div id="editor"> <textarea></textarea> </div> <script src="{{ url_for('static', filename='editor.md/lib/jquery.min.js') }}"></script> <script src="{{ url_for('static', filename='editor.md/lib/editormd.min.js') }}"></script> <script type="text/javascript"> $(function() { var editor = editormd("editor", { // 配置选项 }); }); </script> </body> </html> ``` 在这个例子中,我们通过 Flask 的 render_template 函数将 editor.html 渲染给用户。编辑器的配置选项可以根据需求进行设置,详情可以参考 Editor.md 的官方文档。 最后,启动 Flask 程序并访问 `http://localhost:5000/editor`,你将可以看到编辑器的界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值