基于markdownlint和husky校验markdown文件

基于Hexo来写博客,本质上就是写大量的markdown文档,那是不是有类似eslint一样的工具,也能对markdown文件进行校验呢,答案是确定的,工具的名称就是markdownlint

首先安装markdownlint的命令行工具:

1
brew install markdownlint-cli

然后安装husky

1
npm install husky --save-dev

初始化

1
2
npm set-script prepare "husky install"
npm run prepare

增加一个钩子

1
2
npx husky add .husky/pre-commit "markdownlint source"
git add .husky/pre-commit

这时候,只要我们再次提交commit,就会检查source目录中的所有markdown文件是不是符合要求,如果不符合要求,其实还可以用快速修理

1
markdownlint -f source

具体有哪些规则,可以直接到markdownlint的页面查询:
https://github.com/DavidAnson/markdownlint/blob/HEAD/doc/Rules.md

接下来需要做一些配置,比如说关闭每一行长度的限制,默认这个值是80,但我们是用来写博客,不是一行行写,而是一段段写,一行文字超过80个字符,并且成为一段话,这是很正常的情况。

创建.markdownlint.json文件,并且增加下面的内容:

1
2
3
{
"line-length": false
}

References

如何清空ssh私钥对应的passphrase?

第一次创建ssh key的时候,提示可以设置一个passphrase,抱着更安全一点总是没有问题的心思,就设置了一个很长的密码短语,结果每一次ssh登录服务器,都需要输入,本来是为了方便,结果变成了每一次都很不方便。

其实这个passphrase是保存在私钥中的,可以通过ssh-keygen删除,并且不会影响到公钥。

具体先执行下面命令

1
ssh-keygen -p

这时候会先选择修改哪个密钥,然后会提示输入之前的passphrase,然后输入新的就好,这里因为我们是要删除,只要连续输入两个回车,就可以清空passphrase了。

References