一、富文本編輯器
1.1、編輯器頁面源碼
<!-- md編輯器例子-->
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>Simple example - Editor.md examples</title>
<link rel="stylesheet" href="../css/editormd.css" />
<link rel="shortcut icon" type="image/x-icon" />
</head>
<body>
<div id="layout">
<header>
<h1>Simple example</h1>
</header>
<div id="test-editormd">
<textarea style="display:none;">111111111111111111</textarea>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依賴 jQuery,所以必須放在前邊) -->
<script src="../js/editormd.js"></script>
<script type="text/javascript">
var testEditor;
$(function() {
testEditor = editormd("test-editormd", {
width : "90%",
height : 640,
syncScrolling : "single",
path : "../lib/"
});
});
$('#test-editormd').bind('input propertychange', function() {
var content = $('.editormd-markdown-textarea').val()
console.log(content)
});
</script>
</body>
</html>
1.2 關(guān)鍵源碼解釋
1.2.1 html
添加一個(gè)textarea作為文本編輯器基本元素
<div id="test-editormd">
<textarea style="display:none;">111111111111111111</textarea>
</div>
1.2.2 css
引入editormd.css即可
<link rel="stylesheet" href="../css/editormd.css" />
<link rel="shortcut icon" type="image/x-icon" />
1.2.3 js
引入 依賴js
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依賴 jQuery,所以必須放在前邊) -->
<script src="../js/editormd.js"></script>
編寫markdown內(nèi)容保存邏輯
<script type="text/javascript">
var testEditor;
$(function() {
testEditor = editormd("test-editormd", {
width : "90%",
height : 640,
syncScrolling : "single",
path : "../lib/"
});
});
$('#test-editormd').bind('input propertychange', function() {
var content = $('.editormd-markdown-textarea').val()
console.log(content)
});
</script>
通過獲取類editormd-markdown-textarea的值的方式獲取輸入內(nèi)容。拿到內(nèi)容后存入數(shù)據(jù)庫即可。
1.3 注意
- jquery.min.js必須最先引入
- editormd.js依賴于其他的js文件。所以要將markdown.md文件夾下的/lib 路徑下的內(nèi)容放入靜態(tài)資源文件夾下。
二、顯示數(shù)據(jù)庫中取出的md文本內(nèi)容
2.1 html源碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="../css/editormd.preview.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script src="../lib/marked.min.js"></script>
<script src="../lib/prettify.min.js"></script>
<script src="../lib/raphael.min.js"></script>
<script src="../lib/underscore.min.js"></script>
<script src="../lib/sequence-diagram.min.js"></script>
<script src="../lib/flowchart.min.js"></script>
<script src="../lib/jquery.flowchart.min.js"></script>
<script src="../js/editormd.js"></script>
</head>
<body>
<div id="doc-content">
<textarea style="display:none;" placeholder="markdown語言">#${md.content }</textarea>
</div>
<script type="text/javascript">
var testEditor;
$(function () {
testEditor = editormd.markdownToHTML("doc-content", {//注意:這里是上面DIV的id
htmlDecode: "style,script,iframe",
emoji: true,
taskList: true,
tocm: true,
tex: true, // 默認(rèn)不解析
flowChart: true, // 默認(rèn)不解析
sequenceDiagram: true, // 默認(rèn)不解析
codeFold: true
});});
</script>
</body>
</html>
2.2 關(guān)鍵源碼解釋
2.2.1 引入的css和js
直接引入css 和 js即可
<link rel="stylesheet" href="../css/editormd.preview.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script src="../lib/marked.min.js"></script>
<script src="../lib/prettify.min.js"></script>
<script src="../lib/raphael.min.js"></script>
<script src="../lib/underscore.min.js"></script>
<script src="../lib/sequence-diagram.min.js"></script>
<script src="../lib/flowchart.min.js"></script>
<script src="../lib/jquery.flowchart.min.js"></script>
<script src="../js/editormd.js"></script>
2.2.2 回顯邏輯
<script type="text/javascript">
var testEditor;
$(function () {
testEditor = editormd.markdownToHTML("doc-content", {//注意:這里是上面DIV的id
htmlDecode: "style,script,iframe",
emoji: true,
taskList: true,
tocm: true,
tex: true, // 默認(rèn)不解析
flowChart: true, // 默認(rèn)不解析
sequenceDiagram: true, // 默認(rèn)不解析
codeFold: true
});});
</script>
直接按照模板代碼寫即可。
<textarea style="display:none;" placeholder="markdown語言">#${md.content }</textarea>
將從數(shù)據(jù)庫拿出的md文本內(nèi)容賦值給textarea的val即可顯示文本內(nèi)容。