使用Java实现的一款Markdown解析器md2x

/ Java / 没有评论 / 2364浏览

使用Java实现的一款Markdown解析器md2x

前段时间在写自己的博客程序的时候,在前台使用了marked.js来解析自己的markdown文章,然后发现在进入文章页面的时候总会闪烁一下(前台解析会耗费一定的时间),所以自己就参考了marked.js的源码,使用java实现了一给markdown解析器在后台使用,这里拿出来分享一下?。

下面是项目的介绍:

md2x

Md2x 是一款运行于Java平台上的轻量级markdown解析器,能够通过简单的调用方式将markdown标记解析为HTML标记。在代码的设计与实现参考了marked.js 的源码,使用了marked.js中的 正则表达式来分析markdown文档进行,以及相似的方法进行解析渲染,编写它的最初目的就是为了在Java中还原一个marked.js。

如何使用Md2x

通过引入Md2x的jar包到你项目当中,你可以通过简单的调用将markdown转换为html

引入md2x的jar包

下载md2x的jar包,放入项目当中。 项目地址:https://github.com/touchface/md2x 下载地址:https://github.com/touchface/md2x/tree/master/md2x/target 如何调用

1. 创建Md2x的实例,调用实例的parse方法

解析markdown字符串

Md2x md2x=new Md2x();
md2x.parse(src);

解析markdown文件

File file=new File(“test.md”)
Md2x md2x=new Md2x();
md2x.parse(file);

你可以对解析器进行一些设置,通过向构造函数中传入Options设置对象。Options对象的默认值与marked.js的默认设置一致。 比如,为解析后的分级标题添加id前缀

  Options options=new Opitions();
  option.headerPrefix="md2x";
  Md2x md2x=new Md2x();
  md2x.parse(src);

2. 通过标签md2x:md2html,在JSP页面中调用

在标签体中输入markdown文本

<%@ taglib prefix="md2x" uri="http://www.touchface.top/md2x" %>
<md2x:md2html>
# Hello World!
</md2x:md2html>

通过value属性,使用EL表达式赋值进行解析

<%@ taglib prefix="md2x" uri="http://www.touchface.top/md2x" %>
<md2x:md2html value="${markdown}"/>

你可以通过自定义标签的属性来对解析器中的Options中的一些属性进行设置。

<md2x:md2html 
gfm="true"
headerPrefix="ABC"
baseUrl="${filesBase}"
value="${article.arContent}"/>

在使用md2x:html/ 标签时需要添加jsp-api