markdown格式editor富文本,用于写博客用(带图片上传)

当我们想要一个可以写博客的编辑器的话,editor编辑器是一个不错的选择,本博客网站正是使用此编辑器编写博客

首先引入必要的js和css文件

<link rel="stylesheet" th:href="@{/editor/css/editormd.css}">
<link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon"/>
<script th:src="@{/editor/jquery.min.js}"></script>
<script th:src="@{/editor/editormd.min.js}"></script>

html前端代码

               <div class="editormd" id="test-editormd" style="margin-top: 10px">
                       <textarea class="editormd-markdown-textarea"
                          name="test-editormd-markdown-doc" id="content"
                          th:text="${article.articleContentMd}"></textarea>
                       <!-- 第二个隐藏文本域,用来构造生成的HTML代码,方便表单POST提交,这里的name可以任意取,后台接受时以这个name键为准 -->
                       <textarea class="editormd-html-textarea" name="editormd-html-textarea" id="htmlContent"></textarea>
              </div>


在底部开启editor

$(function () {
     editormd("test-editormd", {
         width: "100%",
         height: 840,
         syncScrolling: "single",
         emoji: true,
         //你的lib目录的路径
         tocm: true, // Using [TOCM]
         htmlDecode: "style,script,iframe|on*",//这个属性开启可以支持字体颜色大小更改,开启 HTML 标签解析,为了安全性,默认不开启
         taskList: true,
         tex: true, // 开启科学公式TeX语言支持,默认关闭
         flowChart: true, // 开启流程图支持,默认关闭
         imageUpload: true,
         imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
         imageUploadURL: "/markdown",
         path: "/editor/lib/",
         //这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
         saveHTMLToTextarea: true
     });
     /*下一步和上一步操作*/
     $("#next,#last").click(
         function () {
             $("#first").toggle();
             $("#second").toggle();
         }
     );

后台接收代码Controller层:

@RequestMapping(value = "/articleAdd", method = RequestMethod.POST)
    private String articleAdd(RedirectAttributes redirectAttributes, Model model, Articles articles, HttpServletRequest request, @RequestParam(required = false) String status) {

        /*判断是否启用博文*/
        if (status == null || status.length() == 0) {
            articles.setArticleStatus(0);
        } else {
            articles.setArticleStatus(1);
        }
        /*暂时设置用户为1*/
        articles.setUserId(1L);
        /*博文内容机器mark格式单独获取*/
        articles.setArticleContent(request.getParameter("editormd-html-textarea"));
        articles.setArticleContentMd(request.getParameter("test-editormd-markdown-doc"));
        /*设置时间*/
        articles.setArticleUpdateTime(new Date());
        articles.setArticleCreateTime(new Date());
        /*分类列表*/
        String[] sortCheckboxes = request.getParameterValues("sortCheckbox");
        /*标签列表*/
        String[] labelCheckboxes = request.getParameterValues("labelCheckbox");
        /*单独判断分类标签,不然会报空指针异常*/
        if (sortCheckboxes == null||labelCheckboxes==null) {
            //model.addAttribute("sortCheckboxes",sortCheckboxes);
            //model.addAttribute("labelCheckboxes",labelCheckboxes);
            model.addAttribute("article", articles);
            model.addAttribute("sortsList", sortService.list());
            model.addAttribute("labelsList", labelService.list());
            model.addAttribute("messages","至少选择一个分类或分类");
            return "admin/article/article_add";
        }

图片写入

    @ResponseBody
    @RequestMapping(value = "/markdown", method = RequestMethod.POST)
    public Map<String, Object> demo(@RequestParam(value = "editormd-image-file", required = false) MultipartFile file, HttpServletRequest request) {
       //前面提及过图片的上传
        return uploadFileUtil(file);

    }

再次回显到前台代码

在文本域中写一下代码:
th:text="${article.articleContentMd}"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
quill-markdown-shortcuts是一个用于Markdown转换为富文本格式的Quill插件。它可以帮助你在键入时快速转换Markdown语法为对应的富文本格式。 使用quill-markdown-shortcuts插件,你需要先引入Quill和quill-markdown-shortcuts的相关文件。然后,在初始化Quill编辑器时,将quill-markdown-shortcuts插件添加到modules选项中。 以下是一个使用quill-markdown-shortcuts的简单示例: 1. 引入相关文件: ```html <!-- 引入Quill编辑器的样式文件 --> <link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet"> <!-- 引入Quill编辑器的脚本文件 --> <script src="https://cdn.quilljs.com/1.3.6/quill.js"></script> <!-- 引入quill-markdown-shortcuts插件的脚本文件 --> <script src="https://cdn.jsdelivr.net/npm/quill-markdown-shortcuts/dist/quill.markdownShortcuts.min.js"></script> ``` 2. 创建一个包含Quill编辑器的HTML元素: ```html <div id="editor"></div> ``` 3. 初始化Quill编辑器并添加quill-markdown-shortcuts插件: ```javascript var quill = new Quill('#editor', { theme: 'snow', modules: { markdownShortcuts: {} } }); ``` 现在,当你在Quill编辑器中键入Markdown语法时,quill-markdown-shortcuts插件会自动将其转换为对应的富文本格式。例如,当你键入`**bold**`时,插件会将其转换为加粗文本。 希望这个简单的示例能帮助你理解如何使用quill-markdown-shortcuts插件。如果你有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值