注:已对类似 toc 里的链接进行排除。
markdown 语法链接不支持设置 target='_blank'
,如果要就直接写 html 的链接代码。个人来说,非常反习惯!
既然 Bitcron 加载了 jQuery ,那就重操旧业来个自动识别内外链!代码如下:
script
$(document).ready (function() {
var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
var location_href = window.location.href.replace(parse_url,'$3')
$('.post-content a:not(:has(img)),.author-name a').hover(function() {
var this_href = $(this).attr('href');
var replace_href = this_href.replace(parse_url,'$3');
if ( this_href != replace_href && location_href != replace_href)
$(this).attr('target','_blank');
});
});
一般放 post.jade
里,直接放 base.jade
也行。其中 .post-content
和 .author-name
有可能需要匹配自己的主题模板。
短短代码测试了个把小时,主要耗在“a标签里无img”和“本地和点击的href的正则”,哎,果真代码欺负老新人!