利用Nodejs+Express将Markdown转换为HTML(附源码)
2017-07-18 11:50
375 查看
MarkdownToHtml
MarkdownToHtml说明
Demo源码下载
准备工作
安装marked
关键步骤
docjs
docejs
appjs
Demo演示
将Markdown文档转换为HTML显示
说明
在程序的中,我结合了bootstrap的样式,所以稍微更改了下模块marked的源码,这也是为了显示更好。我的测试md文档放在了,public/doc下。这边用了一个代码高亮的插件:highlight.js,你也可以用一些别的。本应用是采用 node.js + Express 搭建的
Demo源码下载
源码在我的GitHub上GitHub地址:https://github.com/PowerDos/MarkdownToHtml
准备工作
安装marked
npm install marked –save关键步骤
doc.js
const express = require('express'); const router = express.Router(); const fs = require('fs'); const marked = require('marked'); router.get("/:docName", function(req, res, next){ console.log('name:' + req.params.docName); fs.readFile(__dirname+'/../public/doc/'+ req.params.docName +'.md', function(err, data){ if(err){ console.log("文件不存在!"); res.send("文件不存在!"); }else{ console.log(data); htmlStr = marked(data.toString()); res.render('doc', {doc: htmlStr}); } }); }); module.exports = router;
doc.ejs
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"> <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> <script>hljs.initHighlightingOnLoad();</script> <link rel="stylesheet" href="/css/doc.css"> </head> <body> <nav class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="#"> Markdown</a> </div> <button type="button" class="btn btn-primary navbar-btn navbar-right" id="download"><span class="glyphicon glyphicon-download-alt"></span> Download</button> </div> </nav> <div class="container" id="doc-page"> <%- doc %> </div> <div class="footer"> <span>© 2017 Gavin</span> </div> </body> </script> </html>
app.js
只给出路由部分const doc = require('./routes/doc'); app.use('/doc', doc);
Demo演示
$(".MathJax").remove();
相关文章推荐
- Node.JS Express渲染HTML,变成显示源码 问题及解决
- nodejs+express使用html和jade
- 在Express中使用html (Node.js)
- nodejs+express+mysql 之 简单的在线HTML编辑器
- window.location.href妙用 标签里用js 利用这个简单的转换思路 实现 一直也无法实现的在 页面的html标签使
- ie下 利用JS操作XSL格式化XML,即用XSL来转换XML成为HTML格式并显示
- node.js之web框架Express入门(源码)
- raml转换为html,js,markdown
- nodejs+express生成的模板引擎jade改为html
- nodejs express 加载html模板
- Node.js利用Express框架搭建小型网站
- node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
- node.js学习:利用express搭建简易网页计算器
- node.js实现即时聊天室,使用模块(express+socket.io),附源码
- node.js实现markdowm转换成HTML
- nodejs express 加载html模板
- node.js利用express实现文件上传
- Linux、ubuntu14.04下源码安装node.js、express
- Node.js利用Express框架搭建小型网站(上)
- 通过 nodeclub 项目源码来讲解如何做一个 nodejs + express + mongodb 项目