Octopress中设置markdown超链接target

在使用Markdown语法生成超链接的时候,默认是在本窗口打开的。但是这会影响阅读体验,如果能将超链接在新窗口中打开就OK了。一种方案是使用HTML语法,但是这样破坏了写作时的体验,无法体现markdown的简洁性。好在Octopress可以很自由地定制新的功能。

Octopress的Issues: Open links in a new window[1]中给出了几种可行的方案,我选择了azone的方案[2]。在octopress\source\_includes\custom\head.html中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
function addBlankTargetForLinks () {
$('a[href^="http"]').each(function(){
$(this).attr('target', '_blank');
});
}

$(document).bind('DOMNodeInserted', function(event) {
addBlankTargetForLinks();
});
</script>

参考资料

[1] Issues: Open links in a new window: https://github.com/imathis/octopress/issues/410

[2] azone的方案:https://gist.github.com/azone/4523641