字数:790

阅读时间:5分钟

前言

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

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

<br/>

正文

1.环境准备

①marked插件

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

②highlight插件

  格式化显示各种语言的前端插件,用来显示文档中代码部分。插件地址:http://highlightjs.readthedoc...

③JQuery插件

④ZUI插件

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

<br/>

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 文件夹下任意一款喜欢的样式。

<br/>

  然后创建一个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文档的显示方式。

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

<br/>

<br/>

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

五分钟搭建一个MarkDown文档解析器相关推荐

  1. linux 如何查看终端格式,你应该还不知道,Linux终端下的 Markdown 文档查看器

    原标题:你应该还不知道,Linux终端下的 Markdown 文档查看器 现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Mark ...

  2. 几分钟上线一个项目文档网站,这款开源神器实在太香了!

    之前在搭建mall项目的文档网站时,使用过不少工具,比如说Docsify.VuePress.Hexo.语雀等.对比了一下,要论使用简单.上线快捷还是Docsify,几分钟上线一个网站也不是问题,今天我 ...

  3. 几分钟上线一个项目文档网站,这款开源神器实在太香了~

    之前在搭建mall项目的文档网站时,使用过不少工具,比如说Docsify.VuePress.Hexo.语雀等.对比了一下,要论使用简单.上线快捷还是Docsify,几分钟上线一个网站也不是问题,今天我 ...

  4. linux文档查看器翻译,mdv – Linux终端下的 Markdown 文档查看器

    现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Markdown 文档相比HTML更加简单.一是体现在标记符的数量上,二是体现在标 ...

  5. 五分钟搭建一个基于BERT的NER模型

    BERT 简介 BERT是2018年google 提出来的预训练的语言模型,并且它打破很多NLP领域的任务记录,其提出在nlp的领域具有重要意义.预训练的(pre-train)的语言模型通过无监督的学 ...

  6. 五分钟搞定 Linux 文档全部知识,就看这篇文章

    作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...

  7. 使用nodejs开发一个markdown文档管理小系统(一)Using Nodejs to quickly develop a markdown management system...

    好多年没碰过前端jquery了,用一两天时间重温一下,刚好写个小工具, 不递归取文件夹和文件,只写一层,保持足够简单,验证和参数判断暂不写,毕竟只写了几个小时而已,功能算完备了,添加一个简单的管理员权 ...

  8. C#解析Markdown文档,实现替换图片链接操作

    前言 又是好久没写博客了 其实也不是没写,是最近在「做一个博客」,从2月21日开始,大概一个多星期的时间,疯狂刷进度,边写代码边写了一整系列的博客开发笔记,目前为止已经写了16篇了,然后上3月之后工作 ...

  9. python下载图片到文件夹_python实现解析markdown文档中的图片,并且保存到本地~

    背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...

  10. MarkdownPad2无法预览Markdown文档问题的解决

    问题描述   安装MarkdownPad2后打开一个markdown文档,在预览markdown文档出现下面错误: 问题分析   官方的文档给出如下说法:This issue has been spe ...

最新文章

  1. TextInputLayout
  2. html5开发桌面界面设计,HTML5触摸界面设计与开发
  3. tomcat-connector-address遇到的问题
  4. ckplayer---vue
  5. PHP命令注入 Command injection
  6. php 反射 视频教程,php 实现反射
  7. 几个ASP.NET小技巧
  8. (90)FPGA面试题-使用Verilog实现可预置初值的7进制循环计数器
  9. 对预检请求的响应未通过访问控制检查
  10. Java基础练习之流程控制(四)
  11. [wikioi]最长严格上升子序列
  12. Python中的lamda表达式
  13. ad15的stc元件库_AltiumDesigner常用元件库
  14. 学成在线案例(开发具体步骤)
  15. Windows下安装Nutch
  16. regedit.exe的命令行使用
  17. 人脸识别有趣应用3——抠出人脸并给人脸涂上戏剧脸谱
  18. JAVA与C语言的区别之我见
  19. 3D游戏:三、空间与运动
  20. vim从入门到丝滑学习笔记

热门文章

  1. 走近汇编理解与内核编程
  2. 32线性空间06——行空间和左零空间
  3. 何为启发式算法——退火算法,蚁群算法,遗传算法
  4. (随机|批量)梯度下降法、(拟)牛顿法、共轭梯度法、启发式算法
  5. vue 使用 ueditor uparse_vue手把手教学~搭建web聊天室
  6. 软件测试总结--02缺陷报告
  7. Android setOnPageChangeListener 过时解决
  8. Linux驱动设置log打印开关
  9. 牛客网-华为-2020届校园招聘上机考试-软件类机考-1
  10. Educational Codeforces Round 45 (Rated for Div. 2) G - GCD Counting