Markdown 编辑器Editor.md------修改已经编辑的内容
前言
最近写一个博客系统,需要集成一个markdown编辑器用来编辑文章。我选择的是editor.md这个国产开源的markdown编辑器,editor.md好用是很好用,但是网上却并没有专门的教程,真是让人痛苦不堪。
问题
在首次编辑时,是使用markdown给定的js方法,构造的编辑区域,但是要修改已经编辑的内容时,怎么把数据回显到页面?后台传来的数据怎么放置合适?后台传的需要时什么格式?为什么使用<textarea style="display:none;" name="test-editormd-markdown-doc" id="content" th:text="${blog.blContent}" ></textarea>,接受内容,为何不是别的?
页面内容
<div class="blogtit">
<input type="text" placeholder="请输入博客名称" name="title" id="title" th:value="${blog.blTitle}" />
</div>
<!--class="editormd"-->
<div id="test-editormd">
<textarea style="display:none;" name="test-editormd-markdown-doc" id="content" th:text="${blog.blContent}" ></textarea>
<!--第二个隐藏文本域,用来构造生成的HTML代码,方便表单POST提交,这里的name可以任意取,后台接受时以这个name键为准 -->
<!--<textarea class="editormd-html-textarea" name="text" id="htmlContent"></textarea>-->
</div>
md文件编辑器 构造了textarea 存放了md格式和html格式的文件,所以使用它这个构造的内容来存放,后来返回的数据,至于html格式的数据,md的js会自动解析。所以后台需要存储一个md格式的字段,如果想要修改博客,则只需要把md格式传到前台。正如我的页面代码所示,第一个textarea可以接收md格式的代码并自动生成md编辑器的格式,此时需要将第二个textarea注释。
下面就是需要修改的文本再次回显到页面:
重新修改了以后就可以再次保存了。md会改造2个文本域显示md格式的数据和html格式的数据。我们可以看到 刚刚注释的textarea已经成功重新生成。第一个textarea里保存的是md格式,第二个textarea里保存的是html格式,可以根据需要进行保存。