李顺利
随笔-50  评论-170  文章-0  trackbacks-0

Markdown 支持两种形式的链接语法: 行内 和 参考 两种形式,两种都是使用角括号来把文字转成连结。而个人觉得大部分情况下还是使用行内的形式。

行内形式是直接在后面用括号直接接上链接: 
This is an [example link](http://example.com/). 
输出 HTML 为:
 

<p>This is an <a href="http://example.com/">example link</a>.</p>

你也可以选择性地加上 title 属性: 
This is an [example link](http://example.com/ "With a Title"). 
输出 HTML 为:
 

<p>This is an <a href="http://example.com/" title="With a Title">example link</a>.</p>

以上引自Markdown 语法说明(简体中文版)

但是你也看到了,生成的超链接默认是在本窗口打开的,为了有更好地阅读体验,我们往往是希望你在新窗口中打开超链接,而并不影响阅读本文。markdown目前应该还不支持这种语法的,当然markdown是支持html的,你可以直接使用<a href="http://blogjava.net/lishunli" target="_blank">my blog</a>来达到要求。

使用markdown的原因是简洁,为了这个简单的需求而使用臃肿的html就有点得不偿失了,如果这样,还倒不如选择接受markdown这种默认的超链接形式。而jekyll/Octopress可以很自由地定制需要的功能,使 新窗口中打开链接 变得很容易。

Octopress的Issues Open links in a new window就给出了比较完美的答案,简单hack a 标签。
请在{YOUR_OCTOPRESS}\source_includes\custom\head.html文件后面添加下面的代码 (YOUR_OCTOPRESS是你Octopress的主目录)

1
2
3
4
5
6
7
8
9
function addBlankTargetForLinks () {
  $('a[href^="http"]').each(function(){
      $(this).attr('target', '_blank');
  });
}

$(document).bind('DOMNodeInserted', function(event) {
  addBlankTargetForLinks();
});

代码来源 https://gist.github.com/4523641

朋友们,test it, please click me

顺利
2013年1月20日



博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】

最后弱弱地说一下,如果可以的话,转载请提供出处( ),谢谢。
posted on 2013-01-20 22:45 李顺利 阅读(4071) 评论(2)  编辑  收藏

评论:
# re: 在Octopress中为markdown的超链接加上target=&quot;_blank&quot; 2013-03-07 16:40 | 張旭
太酷了!感謝你!
可是這樣一來,所有的 a 都會變成 target=_blank 了?  回复  更多评论
  
# re: 在Octopress中为markdown的超链接加上target=&quot;_blank&quot; 2013-03-07 16:41 | 張旭
oh! 抱歉!我看到了!
它選的是有 http 的 a 元素  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: