モブログでMarkdownって使えるものなの?(その8:リンク)
一見非合理なものほど合理的にできている。
リンクの書き方はこうではなかった
<a>
−HTML5タグリファレンス <a>
タグは、ハイパーリンクを指定する際に使用します。 ウェブページ内のテキストや画像などを<a>〜</a>
で囲んで必要な属性値を指定してやることで、 ハイパーリンクの始点(出発点)や終点(到達点)と...たとえば[グーグル](http://www.google.com)に飛ぶ場合
他の解説サイトを見ても、Markdownのリンクはこんな感じに説明されています。[タイトル](URLアドレス)
の書式で書く、と。確かにリンクにはなるのですが・・・。たとえばグーグルに飛ぶ場合
カッコ悪く感じませんか? もっと簡単に記述できそうなのに、カッコばかりがやたら多くて。なんでこんな面倒な書き方をするんだろう? 不思議に思っていました。
リンクをまとめて管理する
どうやら通常のリンクは一時しのぎの策で、多用すべきものではないらしい。この書式は可読性が低い。Markdownの独創性はリンク定義の一括管理にあります。
最近[グーグル]よりも[ビング]を使うことが多くなった。[グーグル]:http://www.google.com
[ビング]:http://www.bing.com
[・・・]
で囲ったキーワードに対して、後から定義付けができる。[タイトル]:URLアドレス
の書式でリンク先を定義します。これがMarkdownの真骨頂なんじゃないだろうか。定義領域は消え、リンクが反映している。つまり、もしリンク先が引っ越ししても、定義領域を書き換えれば、本文に手を入れることなく修正できます。なるほど、個々にリンクを埋めるHTMLには欠陥があるんだ。リンク先に変更があったとき、本文全体から対象リンクを探さないといけない。これは手間です。Markdownはそこを抜本的に見直している。
一つのキーワードに一つのアドレス
文書をメンテナンスする上で、もう一つ利点が生まれます。
最近の[グーグル]はゴチャゴチャして[グーグル]らしくなくなった。[グーグル]:http://www.google.com
キーワードは文中に何度あっても構いません。これがもしHTMLタグなら、リンクが変わるたびリンク先を全部書き換えないといけない。手間というより、保守ですね。書き間違えたリンクが残っていても、気づかない可能性が高い。でもMarkdownのように一括管理すれば、ケアレスミスを避けることができます。
強制的に関連づける
同じリンク先だけど、毎回同じキーワードとは限らない。
最近[國分功一郎][國分]に注目。[デモの話][國分]とか面白い。[國分]:http://ameblo.jp/philosophysells/entry-11190461401.html
[未定義][定義済み]
という書式を使うと、一時的にリンク化できます。長い単語をキーワードにするのでなく、識別できる単語をキーワードにする。リンク定義を再利用しやすくなります。かといって、[1][2][3]
のような抽象的なキーワードだと、どれがどれだったか忘れてしまうし。未来の自分の記憶力にあまり期待してはいけない。
注釈を埋め込む
裏技だけど、下記スクリプトのようなこともできます。
[#]:正直者にしか見えない
リンク定義だけれど、使わないキーワードで書き込む。上にあるけど見えない。リンク定義は、HTML変換すると消えてしまいます。下書きの段階でメモを残し、投稿するときには表示しない。そういう用途に使えそうです。もちろん、使わないと分かっていれば、[note]:
や[todo]:
のように、内容を示すタイトルが良さそう。
まとめ
Markdownを侮っていた。Markdownは、一時的な見栄えを良くする目的で作られたのではない。長期にわたり保守する観点から、新しい書き方を提案しているのだと気付きました。正直「モブログ」では、このリンク管理に利点は感じられません。でも、もっと長文で相互に関連付けしたテキストの場合、この方法でないとまず破綻します。よく考えてある。