はてなブログのMarkdown記法で好きなタグにページ内リンクできるようにする【JavaScript利用】

octps.hatenablog.com

はてなブログMarkdown記法でブログ記事を書いている時、ページ内リンクの部分だけhtmlを直に書かなければならなかったので、Javascriptを利用して簡略化してみました。

具体的には、

  1. お好みのタグにJavaScriptでidを設置。
  2. Markdown時にid名をリンク先として記載

という流れになります。

個別のエントリーでのみ動作します。一覧やプレビューでは動作しません

以下のコードを【設定】->【詳細設定】->【headに要素を追加】に追加します。

$(document).ready( function () {

    var href = window.location.href;
    if (href.indexOf('/entry/') != -1) {
        var target = 'h2';
        for (var i = 0; i<$(target).length; i++) {
           var id = 'id' + i;
           $(target).eq(i).attr('id', id);
        }
    }

})

変数targetには、お好みのタグを指定します。 結果としては、指定されたタグにidが追加されます。 idの値は、id + 0から始まる連番となります。

最初のif文は、個別のエントリーのみに対応させるためにurlを取得して判定しています。


以下は実行テストです。

Markdown側は以下

[h2に飛びます その1](#id0)  
[h2に飛びます その2](#id1)
  
  
  
  
  
  
## リンクから飛んできました その1

## リンクから飛んできました その2

h2に飛びます その1
h2に飛びます その2

リンクから飛んできました その1

リンクから飛んできました その2