最近のドキュメントはもっぱらMarkdownで書くという方も多いのではないでしょうか。 markdownlintやtextlintといったツール群によって、文章の構成環境も整えやすくなってきました。
ここで、GitLab Flavored MarkdownやGitHub Flavored Markdownにおいて脚注が利用できるのはみなさんご存知でしょう。
一方で、この脚注における「番号の重複」をどう自動的に検知するかはちょっと頭を悩ませていました。
例えば以下のようなMarkdownにおいて、[^1]
の重複をエラーとして検知したい。
[^1]: hoge [^2]: fuga [^1]: piyo
解決策
この種のエラーを、Pandocが検知してくれることに気づきました。
$ pandoc --version pandoc 2.14.2 Compiled with pandoc-types 1.22, texmath 0.12.3.1, skylighting 0.11, citeproc 0.5, ipynb 0.1.0.1 User data directory: /Users/kiririmode/.local/share/pandoc Copyright (C) 2006-2021 John MacFarlane. Web: https://pandoc.org This is free software; see the source for copying conditions. There is no warranty, not even for merchantability or fitness for a particular purpose. $ pandoc --output=/dev/null --to=html --fail-if-warnings README.md [WARNING] Duplicate note reference '1' at README.md line 46 column 1 Failing because there were warnings.
脚注番号の重複はWARNING扱いですが、--fail-if-warnings
を付与すると終了ステータス1で終了してくれます。
これをCIに組み込めば、自動的に検知が可能ですね。