Markdownでリンクを新規タブで開く

Markdownでtarget="_blank"を書きたかったんですけど、それはできないようで、調べてみるとjQueryを使って実現しているものが多いようでした。 jQueryは使っていないので、You Might Not Need jQueryを参考にJavaScriptで書きました。

環境

  • OS X El Capitan バージョン 10.11.4
  • Safari バージョン 9.1 (11601.5.17.1)
  • iOS バージョン 9.3

コード

document.addEventListener('DOMContentLoaded', function () {
  Array.prototype.forEach.call(document.querySelectorAll('a'), function (node) {
    if (node.href && node.href.indexOf(location.hostname) < 0) node.setAttribute('target', '_blank');
  });
});

ドメインが違う場合だけリンクを新規タブで開くようにしたかったんだけど、開こうとするパスにドメインと同じ文字列があるとダメかもしれない・・

終わり

jQueryはあまり好きじゃないので、You Might Not Need jQueryはいいな。 サイトのタイトルとドメインもいいな。

参考