Markdownの参照形式によるリンク

Markdownでリンクを作成する方法には2種類ある。インラインで記述する方法が最もよく使われており、必ずHTMLに変換するということならばこれだけで十分とも言える。もう一つの参照形式で記述する方法はほとんど使われていないが、Markdown文書をテキストとして読む場合に、ともすれば長くなりがちなURLが本文に挟まらないので格段に読みやすさが向上する。

This is [an example reference-style link][1].

[1]: http://example.com/

参照形式ではこのような形でリンクを作成する。本文では[link text][id]という形で書き、文書の最後に[id]: URLという形で書くわけだ。ちょうど脚注のような形になる。[id]: URLは任意の場所に書くことができるが、読みやすさと書きやすさの両面から最後にまとめて書いた方が良いだろう。

このidは省略できるので以下のようにして作成することもできる。

This is [an example reference-style link][].

[an example reference-style link]: http://example.com/

実はこの空の[]も省略できるので以下のようにしてもまた作成することができる。

This is [an example reference-style link].

[an example reference-style link]: http://example.com/

この[]の省略についてはドキュメントでは触れられていないが、オリジナルのMarkdown実装及び多くの派生実装でも動作する。本文がよりすっきりすることと、リンクの対応が明確なことがこの書き方の利点だと言える。しかし同じ文字列を繰り返して書くことになるので、決して効率的であるとは言えない。

数字のIDを使う書き方は脚注として見やすく効率的なのに対して、[]を省略した書き方は連番を管理する必要がないためメンテナンス性が高い。どちらでも良いが統一はした方が良いだろう。


ウェブログの記事のようにほぼ簡易HTML記法としてMarkdownを使うだけの場合はインラインで書いても問題になることはない。しかし一文や段落の長さといった文章の体裁にも気を使いたい場合、インラインで書かれたURLは大きくその作業を阻害する。参照形式によるリンクを利用するとより自然に文章を添削することが可能になるだろう。

またプロジェクトのREADMEなど、Markdown文書がそのままテキストととして読まれることも多い場合にも威力を発揮する。紙の文書で欄外の注を読むような感覚でリンクを読むことができるだろう。編集する側としても脚注のような形で最後に参考リンクのリストのようなものをまとめておけることは利点が多いはずだ。

他に80文字で改行を入れる記述ルールとの相性の良さも見逃せない。インラインの場合には80文字で改行するのはとても難しくなるが、参照形式ならほぼ問題になることはない。


あまり使われていない参照形式によるリンクだが、こちらを使うことにより、文書を実際の表示に近い形で編集することが可能になる。そうなることによって文書がより良い体裁を持って公開できるようになることに繋がる。かもしれない。