Markdown中的链接语法
Markdown的链接语法有几种,都很简单。其中也包含非常有用的脚注[1]功能。
最简单的自动链接
只要输入一个url,一般的编辑器都会自动将其变成超级链接。如:在markdown中输入了http://www.cnwyw.net
几乎所有的编辑器都会在渲染结果中自动将其转换为超级链接:http://www.cnwyw.net
如果输入一个电邮地址,也会渲染为自动连接。pollenwang@e-mail.com
渲染结果为:pollenwang@e-mail.com
如果没有自动转换,可能是所用的编辑器设置了不自动转换,只需要给url或者email加上尖括号
<>
即可。如:<http://www.cnwyw.net>
。
带名称的链接
像HTML一样,Markdown也可以输出一个以文字或图片为显示名,而指向某个url的超级链接,语法很简单:[链接名称](url地址 "还可以添加title")
。如:
[Pollen Blog](http://www.cnwyw.net "我的私人博客")
会被渲染为如下HTML:
<a href="http://www.cnwyw.net" title="我的私人博客">Pollen Blog</a>
渲染效果如:Pollen Blog
在新窗口打开超级链接
很多时候都需要让文中的连接在新窗口中打开,以免影响当前内容的阅读,在Markdown中要实现这一点,像HTML中一样简单,因为他也支持target属性的值:_blank。只需要在链接末尾加上{target="_blank"}
即可,这与HTML的用法几乎完全一样,只是需要大括号{}
而已。例如:
[Pollen Blog](http://www.cnwyw.net "我的私人博客"){target="_blank"}
会被渲染为如下HTML:
<a href="http://www.cnwyw.net" title="我的私人博客" target="_blank">Pollen Blog</a>
渲染效果如:Pollen Blog(点击后会在新窗口打开链接)
不仅仅用于URL连接
相同的语法,并不仅仅用于url的链接,也同样可以用于文件链接,相对路径、绝对路径都可以。
在文件链接中有时候会有空格
存在,这里用%20
代替是个好习惯,因为不同程序处理
空格
的方法不同,使用%20
可以增强兼容性。
引用链接
很多时候,在文中插入长长的链接会影响书写和检查,而且,同一个引用链接出现多次时,不停的重复写也是闹心,不如将用到的引用链接集中写在一个地方会更舒服,而且每个只需要写一次。
引用链接分为两个部分:
- 第一部分:内联的标签,语法为:
[引用链接显示的内容][链接的标签或编号]
- 第二部分:内联的主体,语法为:
[链接的标签或编号]: 实际url "title字符串"
(title为可选项) - 下面举个例子来看一下哪一种更舒服:
首先是引用链接的写法
文中出现的6处共3个链接,只需要各写一次,并且对原文的书写和检查影响很小。
欢迎你来我的[博客][boke]一起探讨有关[摄影][sheying]和[文学][wenxue]的话题。
……
到目前为止我只有这一个[博客][boke],其主要内容是关于[摄影][sheying]和[文学][wenxue]以及水晶虾的。
……
[boke]: http://www.cnwyw.net/ (我的博客首页)
[sheying]: http://www.cnwyw.net/category/photography/ "摄影习作展示"
[wenxue]: http://www.cnwyw.net/category/writing/ '文学习作'
集中存放的引用链接可以在文中任何地方,只要前面有空行就行。引用链接的url部分在渲染时不会显示出来,而是直接解释到原文对应的HTML代码处。title部分用单、双引号或者小括号包围均可,根据以往的习惯,我比较喜欢用双引号。
引用连接同样可以用target属性的_blank值来实现新窗口打开连接,只是,属性并不加在实际的url处,而是加在引用标签处。如:
[博客][bk]{target="_blank"}
这样使用。
渲染后的显示效果如下:
欢迎你来我的博客一起探讨有关摄影和文学的话题。
……
到目前为止我只有这一个博客,起主要内容是关于摄影和文学以及水晶虾的。
……
再来看笨办法
或者说是普通的链接写法,实现与上面完全一样的渲染效果需要写多少:
欢迎你来我的[博客](http://www.cnwyw.net "我的博客首页")一起探讨有关[摄影](http://www.cnwyw.net/category/photography/ "摄影习作展示")和[文学](http://www.cnwyw.net/category/writing/ "文学习作")的话题。
……
到目前为止我只有这一个[博客](http://www.cnwyw.net "我的博客首页"),其主要内容是关于[摄影](http://www.cnwyw.net/category/photography/ "摄影习作展示")和[文学](http://www.cnwyw.net/category/writing/ "文学习作")以及水晶虾的。
……
很显然,第二种写法几乎与直接写HTML源码无异了。不仅严重影响原文的可读性,而且引用链接没出现一次,都要写一遍链接。
不过,有一点要注意的是,Markdown的引用链接,是无法实现新窗口打开链接的。具体什么时候用哪一种链接方法,看实际情况需求吧。
脚注
这个东西我在做办公文档的时候会常常用到,集中显示的注释不会影响原文的可读性。以前用word或者WPS文字搞这个会比较麻烦,现在用Markdown简单多了,只要脚注的标签一一对应即可,其他的不用管,无论你把注释内容放在哪里,渲染之后都会自动出现在文末,不仅会自动编号,还自带返回原文位置的链接。很实用。
这么实用的东西,语法却超级简单,在需要的地方插入:[^脚注标签]
,并在文中的其他地方另起一行写注释内容即可,记得冒号和空格要紧挨着就行:[^脚注标签]:
。就这么简单。脚注标签可以是数字、字母等随意的字符串,只要能一一对应就行。
本文第一段中脚注后面就有一个小小的[1]
,点击后则会跳转到文末的注释内容处,读完注释可以点击后面的箭头返回原文处。其写法是这样的:
在需要的地方,例如第一段的脚注二字后面输入:[^jiaozhu]
,然后在其他任何地方另起一行,输入:
[^jiaozhu]: Markdown的脚注会自动编排序号,并自动渲染到文末。
这样在渲染时,第一段的[^jiaozhu]
会自动显示为[1]
,如果有其他注释会按照先后顺序自动编号,而他们的注释内容则会自动输出到文末的水平分割线下方。
- Markdown的脚注会自动编排序号,并自动渲染到文末。 ↩︎