【SpringBoot学习】21、SpringBoot集成 Editor.md 富文本编辑器

文章简介

通过简单的讲解,快速的上手一个高大上的富文本编辑器。以下简称编辑器,并实现实际开发中最常用的功能:

  • 创建一个富文本编辑器

  • 获取富文本编辑器的内容(存数据库)

  • 设置富文本编辑器的内容(数据库读出来修改)

准备工作

创建一个空的springboot项目,添加thymeleaf依赖。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

下载editor.md,这里给出下载地址:

GitHub 官方地址:https://github.com/pandao/editor.md

直接点击下载:https://github.com/pandao/editor.md/archive/master.zip

static目录下面创建一个editor文件夹。解压下载的文件,复制以下文件到editor文件夹下。

  1. css

  2. fonts

  3. images

  4. lib

  5. plugins

  6. editormd.min.js

然后下载 jQuery,放到 static 目录下面。

下载地址:http://jquery.com/download/

创建编辑器

【第一步】新建一个editormd-create.html。引入相关css:

<link rel="stylesheet" data-th-href="@{/editor/css/editormd.min.css}">

【第二步】编写<body>中的内容:

<div id="test-editormd">
	<textarea style="display:none;"></textarea>
</div>

【第三步】引入相关 js 文件:

<script data-th-src="@{/jquery.min.js}"></script>
<script data-th-src="@{/editor/editormd.min.js}"></script>

【第四步】初始化编辑器:

var testEditor;
$(function () {
    testEditor = editormd("test-editormd", {
        height: 590,
        htmlDecode: true,  // 你可以过滤标签解码
        syncScrolling: "single",
        path: "/admin/editor/lib/",
        saveHTMLToTextarea: true,

        emoji: true,
        watch: false,
        codeFold: true,
        taskList: true,
        tex: true, // 默认不解析
        flowChart: true, // 默认不解析
        sequenceDiagram: true, // 默认不解析
    });
});

获得编辑器内容

通过上面的创建编辑器的过程,我们获取编辑器的内容变得格外简单:

testEditor.getMarkdown();

设置编辑器内容

【第一步】新建一个editormd-create.html。引入相关css:

<link rel="stylesheet" data-th-href="@{/editor/css/editormd.preview.min.css}">

【第二步】编写<body>中的内容:

<div id="test-editormd-view">
	<textarea name="test-editormd-markdown-doc" th:utext="${article.content}"></textarea>
</div>

【第三步】引入相关 js 文件:

<script data-th-src="@{/jquery.min.js}"></script>
<script data-th-src="@{/editor/lib/marked.min.js}"></script>
<script data-th-src="@{/editor/lib/prettify.min.js}"></script>
<script data-th-src="@{/editor/lib/raphael.min.js}"></script>
<script data-th-src="@{/editor/lib/underscore.min.js}"></script>
<script data-th-src="@{/editor/lib/sequence-diagram.min.js}"></script>
<script data-th-src="@{/editor/lib/flowchart.min.js}"></script>
<script data-th-src="@{/editor/lib/jquery.flowchart.min.js}"></script>
<script data-th-src="@{/editor/editormd.min.js}"></script>

【第四步】初始化编辑器:

var testEditormdView;
$(function () {
    testEditormdView = editormd.markdownToHTML("test-editormd-view", {
        //htmlDecode      : true,       // 开启 HTML 标签解析,为了安全性,默认不开启
        // htmlDecode: "video",  // 你可以过滤标签解码
        //toc             : false,
        tocm: true,    // Using [TOCM]
        tocContainer: "#custom-toc-container", // 自定义 ToC 容器层
        //gfm             : false,
        //tocDropdown     : true,
        // markdownSourceCode : true, // 是否保留 Markdown 源码,即是否删除保存源码的 Textarea 标签
        emoji: true,
        taskList: true,
        tex: true,  // 默认不解析
        flowChart: true,  // 默认不解析
        sequenceDiagram: true
    });
});

生成文章目录

通过上一步的设置编辑器内容,这里注意初始化时,其中一个参数,tocContainer: "#custom-toc-container" // 自定义 ToC 容器层,这句话制定了生成目录的容器,也就是说,写一个idcustom-toc-containerdiv,即可自动生成文章目录,例如:

<div class="markdown-body" id="custom-toc-container"></div>

相关链接

技术分享区

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要用Java开发一个Markdown编辑器,可以使用JavaFX图形化界面库来实现。而要集成Editor.md,可以在JavaFX中嵌入WebView组件,然后加载Editor.md的HTML页面即可。 以下是实现步骤: 1. 在JavaFX中创建一个WebView组件 ``` WebView webView = new WebView(); ``` 2. 通过WebView组件加载Editor.md的HTML页面 ``` String htmlContent = "<html><head><link rel=\"stylesheet\" href=\"https://pandao.github.io/editor.md/css/editormd.min.css\"/></head><body><textarea id=\"editor\"></textarea><script src=\"https://pandao.github.io/editor.md/lib/marked.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/prettify.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/raphael.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/underscore.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/sequence-diagram.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/flowchart.min.js\"></script><script src=\"https://pandao.github.io/editor.md/lib/jquery.min.js\"></script><script src=\"https://pandao.github.io/editor.md/editormd.min.js\"></script><script type=\"text/javascript\">var testEditor = editormd(\"editor\", {});</script></body></html>"; webView.getEngine().loadContent(htmlContent); ``` 3. 将WebView组件添加到JavaFX的场景中 ``` Scene scene = new Scene(webView); stage.setScene(scene); stage.show(); ``` 这样就可以实现一个简单的Markdown编辑器,并集成Editor.md的功能。当然,还需要实现一些逻辑来获取编辑器中的内容并进行解析和保存等操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tellsea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值