node实现终端打印markdown

使用 nodejs 实现终端打印预览 markdown 文档

之前做了一个需求,对我们使用 nodejs 写的一个工具库,使用时必须检查版本,如果版本不是最新的话就在终端中打印出当前版本与最新版本之间的更新的日志。

其中在终端中打印更新日志有几个问题:直接打印字符串没有高亮之类的突出重点,还有就是在排版上有点乱,如果手动去设置高亮和排版的话代价就相对比较大了。然后就想看下有没有什么库能够直接打印出 markdown。

查阅资料后,使用 markedmarked-terminal

安装

1
npm i marked marked-terminal -S

使用

markdown.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const marked = require('marked')
const TerminalRender = require('marked-terminal')
const chalk = require('chalk')

/* 配置 markdwon 展示效果 */
marked.setOptions({
renderer: new TerminalRender({
// heading 标题显示绿色加粗
heading: function (text) {
return chalk.green.bold(text)
},
// 不展示 header 标记
showSectionPrefix: false,
}),
})

/* markdown 事例字符串 */
const data = `
# 示例项目

## 开始

### 使用 node markd 项目

- \`yarn\`
- \`node node/mark-md.js\`
`

/* 打印 markdown 字符串 */
console.log(marked(data))

结果

terminal-markdown

参考: