五分钟搭建一个MarkDown文档解析器

原创
2018/01/06 17:21
阅读数 1W

 

字数:790

阅读时间:5分钟

 

前言

本文的旨在讲述如何从零开始搭建一个MarkDown文档展示工具。整个过程非常简单,咱稍微花五分钟就可以搭建一个定制化的MD文档解析器,是不是很酷呀!

首先我们晒一张成果图看看效果吧:

 

正文

1.环境准备

①marked插件

一款最受欢迎的markdown文件解析插件。插件地址:https://github.com/chjj/marked

②highlight插件

格式化显示各种语言的前端插件,用来显示文档中代码部分。插件地址:http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html

③JQuery插件

④ZUI插件

这是一款基于bootstrap封装的GUI框架,这个是笔者经常用的一个框架,随意选择它。这里我们只是使用了它的样式,是可选项,大家可以选择自己喜欢的GUI框架来展示。插件地址:http://zui.sexy/#javascript/modal

 

2.工具搭建

环境准备完毕,那就开始搭建吧!

先创建一个index.html文件,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="jquery-1.9.1.js"></script>
  <script src="marked/lib/marked.js"></script>
  <script src="highlight/highlight.pack.js"></script>
  <link rel="stylesheet" href="highlight/styles/vs2015.css">
  <link rel="stylesheet" href="zui.css">
  <script src="test.js"></script>
  <link rel="stylesheet" href="test.css">
</head>
  <body>
​
  </body>
</html>

页面引入刚才准备的资源JQuery、marked、highlight和zui。这里highlight插件有许多可选样式文件,大家可以随意选择 styles 文件夹下任意一款喜欢的样式。

 

然后创建一个test.js 文件,代码如下:

$(function(){
    //marked插件的基本配置
    marked.setOptions({
        renderer: new marked.Renderer(),
        gfm: true,
        tables: true,
        breaks: false,
        pedantic: false,
        sanitize: false,
        smartLists: true,
        smartypants: false,
        highlight: function (code,lang) {
            //使用 highlight 插件解析文档中代码部分
            return hljs.highlightAuto(code,[lang]).value;
        }
    });
​
    $.ajax({
        type:"get",
        url : "前端编年史.md",
        async : false,
        dataType:"text",
        success : function(response,status,request) {
            document.body.innerHTML = marked(response);
​
            //渲染文档中代码部分
            hljs.initHighlighting();
​
            //给生成的文档中统一添加样式
            $("table").addClass("table");
        }
    });
});

代码解释如代码注释所述,这里只是使用了marked和highlight插件的基本用法,详细用法见环境准备中的插件地址中文档介绍。

 

最后创建一个样式文件test.css,代码如下:

body{
  padding: 50px;
}

这里只是写了一个简单的样式以作示例。大家可以通过样式控制md文档的显示方式。

<br>

至此,整个工具搭建完毕,只需要将页面运行起来就可以看到效果了。这是一款完全属于我们自己的md解析工具,我们可以按照自己的喜好方式随意修改文档的展示方式,很酷吧!

 

 

欢迎大伙关注我的微信公众号,和老司机一起撸代码:

 

展开阅读全文
打赏
1
26 收藏
分享
加载中
打赏
1 评论
26 收藏
1
分享
返回顶部
顶部