markdown-styles是一个开源项目,大概是根据一种模板语言,用JS引擎(/usr/local/lib/node_modules/markdown-styles/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js
)来解释这种模板以及MD语法,最终形成HTML文件。
安装markdown-styles
首先安装下载工具:
sudo apt-get install npm
安装markdown-styles
sudo npm install -g markdown-styles
这时运行
generate-md
可能有错误提示:
/usr/bin/env: node: No such file or directory
修改一下vim /usr/local/lib/node_modules/markdown-styles/bin/generate-md
,将#!/usr/bin/env node
改为#!/usr/bin/env nodejs
使用markdown-styles
使用非常简单:
generate-md --style github
输入默认使用的是当前目录下的./input
子文件夹,输出默认为./output
文件夹,自定义布局./my-layout
文件夹,使用自定义布局要用--layout
代替--style
定制markdown-styles
由于github的模板就是通用的,有时自己想加一些东西,比如:
(1)在页尾加一个返回首页的链接
(2)在页首加一个内容快链
(3)添加HTML页面的meta,比如keywords和description
大概方法,将github的模板导出成自定义:
generate-md --export github --output ./my-layout
然后修改./my-layout/page.html
模板,对应的修改为:
(1)添加页脚
<article class="markdown-body">
{{~> content}}
{{#if home_page}}
{{else}}
<hr>
<p><a href="/">[回首页]</a></p>
{{/if}}
</article>
(2)添加快链
{{-> toc}}
(3)添加meta
{{#if keys}}<meta name="keywords" content="{{#each keys}}{{ this }}, {{/each}}" />{{/if}}
{{#if desc}}<meta name="description" content="{{#each desc}}{{ this }}, {{/each}}" />{{/if}}
然后在页面定义两组变量,比如:
keys: ["https在apache中的使用", "https在tomcat中的使用"]
desc: ["https的原理工作模式及应用范畴"]
categories: ['术']
---
但有一点奇怪的地方是,这个方式在某些md里不行,暂还未发现规律,不知道是不是引擎的bug。
更多资料了解这里