代码拉取完成,页面将自动刷新
同步操作将从 陌溪/LearningNotes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HTML转换成Markdown, 然后导出。第二种方式是在客户端将Html转换成Markdown
前台处理Markdown转换成Html,使用的是一款Vue组件 showdown
:点我传送
前端处理的好处是不需要占用后端的计算资源,因此首选是让客户端做这种处理的事情
首先我们需要安装依赖
npm install showdown --save
或者使用CDN
https://unpkg.com/showdown/dist/showdown.min.js
var showdown = require('showdown'),
converter = new showdown.Converter(),
text = '# hello, markdown!',
html = converter.makeHtml(text);
前台处理Html转换成Markdown,使用的是一款Vue组件 turndown
:点我传送
首先安装依赖
npm install turndown --save
或使用CDN加速
<script src="https://unpkg.com/turndown/dist/turndown.js"></script>
// For Node.js
var TurndownService = require('turndown')
var turndownService = new TurndownService()
var markdown = turndownService.turndown('<h1>Hello world!</h1>')
后端处理使用的是 flexmark-java
:点我传送
<!--Markdown 转 Html-->
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-all</artifactId>
<version>${flexmark.version}</version>
</dependency>
/**
* Markdown转Html
* @param markdown
* @return
*/
public static String markdownToHtml(String markdown) {
MutableDataSet options = new MutableDataSet();
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse(markdown);
String html = renderer.render(document);
return html;
}
/**
* Html 转 Markdown
* @param html
* @return
*/
public static String htmlToMarkdown(String html) {
MutableDataSet options = new MutableDataSet();
String markdown = FlexmarkHtmlConverter.builder(options).build().convert(html);
System.out.println(markdown);
return markdown;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。