markdownのリンクチェック
wordpressにはBroken Link Checkerというプラグインがあって、デッドリンクをチェックできます。
同じようなツールがmarkdownでもできまして、リンクチェックをCIで回すことができます。
とはいうものの、CIに組み込んでエラーが出るのを待つのは面倒です。というわけで、手っ取り早くローカル環境で手っ取り早くmarkdownのリンクチェックをする手順です。
使うのは
GitHubで公開されている以下のツールを使います。このツールはCIにも導入できますし、ローカル環境でも使うことができます。
インストール
あるリポジトリの配下で使いたかったので、以下でインストールします。
npm install –save-dev markdown-link-check
そうすると、node_modules
というディレクトリが作成されて、その下に関連するパッケージがインストールされます。さらにmarkdown-link-check
を探すと、バイナリが用意されています。
使用方法
複数のmarkdownをチェックしたくて、以下のコマンドで使用しました。
find . -name *.md -print0 | xargs -0 -n1 node_modules/markdown-link-check/markdown-link-check -c config.json -q
オプションにある-c
はjson形式の設定ファイルを読み込みます。
また、-q
でリンクエラーのみ出力させています。
使用しているconfig.jsonの中身は以下の通りです。無視するURLを列挙しています。
{
"ignorePatterns": [
{
"pattern": "^https://blog.hatena.ne.jp/"
},
{
"pattern": "^https://c.affitch.com/"
},
{
"pattern": "^https://d.odsyms15.com/"
}
],
"timeout": "20s",
"retryOn429": true,
"retryCount": 5,
"fallbackRetryDelay": "30s",
"aliveStatusCodes": [200, 206]
}