James0 2020-05-14
1. vscode插件:Markdown Preview Enhanced
2. 在vscode内打开一个markdown文档
3. F1调出命令行,输入:Markdown Preview Enhanced: Extend Parser
4. 弹出的js文件内容替换成下面的代码:
function formatHead(markdown) { var seqNo = []; var mdArr = markdown.split("\n"); if (mdArr && mdArr.length > 0) { mdArr.forEach((element, i) => { var mat = element.match(/^(#+)\s+(\S.*)/); if (mat && mat.length > 2) { // 找到标题 var headseq = mat[1].length; for (var j = 1; j < headseq; j++) { if (seqNo.length < j) { seqNo.push(1); } } if (seqNo.length < headseq) { seqNo.push(1); } else { seqNo[headseq - 1] = seqNo[headseq - 1] + 1; if (seqNo.length > headseq) { seqNo.splice(headseq, seqNo.length - headseq); } } mdArr[i] = mat[1] + " " + seqNo.join(".") + " " + mat[2]; } }); } return mdArr.join("\n"); } module.exports = { onWillParseMarkdown: function(markdown) { return new Promise((resolve, reject)=> { markdown=formatHead(markdown); return resolve(markdown); }) }, onDidParseMarkdown: function(html) { return new Promise((resolve, reject)=> { return resolve(html) }) } }
5. markdown文档头部添加如下代码
--- export_on_save: puppeteer: true # export PDF on save ---
至此,大功告成。书写markdown文档后按保存按钮,会自动在同目录下生成一个同名的pdf文件