MarkdownJS模块使用

首先是安装markdown-js模块

npm install markdown-js

在路由文件中定义所要访问的文章路径

var markdown = require("markdown-js")

app.param("article_name", (req, res, next, name) => {
  let filePath, content, html
  filePath = `/static/articles/${name}.md`

  // 判断文件是否存在(不存在的文件会报错,也可以用fs模块进行判断)
  try {
    content = fs.readFileSync(filePath, "utf8")
  } catch (e) {
    content = "Author had removed this article, Sorry!"
  }

  // 利用markdown-js模块将MD解析成HTML
  html = markdown.makeHtml(content)

  // 这里的formatHTML是用来加入header和一些自定义的脚本和CSS样式, 然后返回
  // 在header里面会加入Highlight.js将代码高亮
  res.send(formatHTML(name, html))
  next()
})

app.get("/articles/:article_name", (req, res) => {
  res.end()
})

现在如果运行正常,即可看出来是这样的

使用Highlight.js格式化代码

使用方法

在导出的HTML的head中引入下载的包中的CSS和JS,压缩包中都有的 引入JS是分析代码高亮的,CSS则是用来代码高亮的,里面有很多种主题可以选择使用

<link rel="stylesheet" href="./monokai.css">
<script src="./highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

这里我贴一个Monokai主题

现在代码是好看了,细心的盆友会发现区块和其他部分还是无样式,挺难看的 所以我又引入了马克飞象的样式文件,也可以自己写。 CSS链接在此 https://dn-maxiang.qbox.me/res-min/themes/marxico.css

所有现在好看多了(还有很多东西,自己去发现吧)……

对了推荐一个丁老师写的图床chrome插件(用过的都说好O(∩_∩)O哈哈~)图床on微博