Markdownのリンクを別ページで開けるようにする。

Markdown便利だけどリンクが別ページで開けなくなりました。
html直書きでリンクを書く場合

1
<a href="http://~" target="_blank">テキスト</a>

Markdownでのリンク

1
[テキスト](http://~)

htmlの場合は別ページで開くためにtarget=”_blank”を入れていたんだけどMarkdownだとこれが入れられない。なんで読んでるページに上書きでリンク先を開いてしまいます。リンクを別ページで開くかどうかは好みの別れるとこだけど自分は今まで別ページで開くようにしてたのでこれはなんとかしたい。
最初プラグインの中身を見てhtmlへの変換部分に_balnkの記述を入れてやればいいかと思ったけど、どこをいじるか探すのが大変そうなのでもっと簡単な方法で処理することに。

Markdownでのリンクを別ページで開くための方法

以下のコードを足してやればOK

1
2
3
4
5
6
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
        <script type="text/javascript">
        $(function () {
            $("a[href^='http']:not([href*='" + location.hostname + "'])").attr('target', '_blank');
        });
        </script>

最初の行でgoogleが公開してるjqueryを参照。次の行から自分のホストネーム以外のリンクに対してtarget=_blankが指定されてます。。
wordpressの場合はheader.phpが一番上にくるのでhead/headの間にでも上記コードを貼っとけば完了。
参考にしたページ[ jQuery ] 外部サイトへのリンクを別ウインドウで開くサンプル | Bowz::Notebook
こちらの記事ではjquery使うのが前提なんだけどそこに気づかずさいしょ失敗しました。jqueryをgoogleから引っ張ってくるのがイヤな場合は公式からダウンロードして自分のとこに置いてやればOK。


コメントする

メールアドレスが公開されることはありません。