[转]Markdown语法笔记

跳至内容 taolex客栈
又一个WordPress站点

Markdown语法笔记

前言

这篇文章其实我之前就在Gibhub的博客上写了,现在博客已经迁出Gibhub,我稍作了更新重新发布出来。

Markdown简介

Markdown

Markdown是一门为了实现易读易写的标记语言,而且可以转化为其他的标记语言(如HTML)。这种语言吸收了很多电子邮件中的纯文本标记的特性。除了标准语法,Markdown还有很多衍生的版本,例如PHP Markdown Extra,以及GitHub上的“GitHub Flavored Markdown”(GFM)。
而本文将介绍原始的标准Markdown语法,也就是Standard Markdown(SM)。dillinger是一个在线Markdown编辑器,你可以一边阅读本文,一边练练手。


标题

一级标题可以用任意数量=表示,二级标题用-表示,也可以用1到6个#表示一到六级标题。
语法示例

一级标题
===
二级标题
---
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

显示效果
一级标题
===
二级标题


一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

列表

无序列表可以用*+-表示,而有序列表则用数字紧跟.来表示。有序列表中的数字不影响实际显示,因为HTML的有序列表<ol>不支持定义单项序号。列表的一项可以有多个段落,但需要缩进4个空格或1个制表符。
语法示例

* perl
* ruby
* python
<!-- 注意两个列表不能相邻 -->
1. github
2. jekyll
3. bootstrap

显示效果

  • perl
  • ruby
  • python
  1. github
  2. jekyll
  3. bootstrap

注意:若两项之间用空行隔开,每项的内容会转换成被<p>包围起来。

  • Angry Birds
  • Bad Piggies

会转换成:

  • Angry Birds
  • Bad Piggies

链接和图片

链接和图片的语法很像,链接用[]()表示,而图片是![](),并且可以选择加上title属性。还有另外一种形式,与论文中的参考文献很相似,具体使用请看示例。
语法示例

第一种:链接[google](http://www.google.com "search")和图片![logo](http://taolex.com/wp- content/uploads/2016/01/logo.png "logo")
第二种:链接[google][1]和图片![logo][2]
[1]: http://www.google.com "search"
[2]: http://taolex.com/wp-content/uploads/2016/01/logo.png "logo"

显示效果
第一种:链接google和图片

logo

第二种:链接google和图片
logo


强调

强调可以用*或者_表示,效果是相同的,不同数量可以分别表示斜体、粗体和粗斜体。
语法示例
表示*斜体*、**粗体**和***粗斜体***表示_斜体_、__粗体__和___粗斜体___

显示效果
表示斜体粗体粗斜体
表示斜体粗体粗斜体


代码段

内联代码段用反引号`
(键盘esc下面的键,不要与单引号混淆了)包围。
而块级代码段出于简洁的考虑,只需在行的开头缩进4个空格或1个制表符即可,Markdown会转换成用<pre><code>包围代码内容。
语法示例

这里是内联代码段`git`,
# 这里是块级代码段 git add .

显示效果
这里是内联代码段git

#这里是块级代码段
git add .

注意:如果你需要在代码中显示反引号`,请参考下面的写法,要显示n个反引号的话,就在外围写1 + n个反引号。
`````

Markdown不会对代码段的代码内容进行语法转换,而像&<这类字符会自动转换成HTML实体。例如,

<div class="footer">
    © 2016 taolex
</div>

会转换成:

<pre><code><div class="footer">
    &copy; 2016 taolex
</div>
</code></pre>

水平分隔线
只需要三个或以上的*或者-就可以表示水平分隔线。
语法示例

***
---
* * *
------------

显示效果





*********************************奇葩的分割线****************************

转义

有时候我们想要用#*这类字符,但是他们在Markdown中有特殊的含义,所以需要转义。在Markdown中可以用反斜杠来帮助你使用这类字符。需要转义的字符如下:

\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括号
# 井号
+ 加号
- 减号
. 句点
! 惊叹号

语法示例
\#0571
\*\*\*\*711\*\*\*\*

显示效果
#0571
****711****


引用

引用的用法比较简单,只需在引用内容开头加上>
语法示例

问:“WP8应用和iOS应用的差距在哪里?”答:“iOS应用要多少有多少,WP应用要多少有多少。”
中国梦.txt 美国梦.exe 日本梦.avi 朝鲜梦.bat

显示效果

问:“WP 8 应用和 iOS 应用的差距在哪里?”答:“iOS 应用要多少有多少;WP 应用要多少有多少。
中国梦.txt 美国梦.exe 日本梦.avi 朝鲜梦.bat


块级元素和内联元素

块级元素(区块元素)和内联元素(区段元素)其实是CSS的概念,为了帮助我们更好地在HTML中展示,有必要介绍一下。《CSS权威指南》解释:任何不是块级元素的可见元素都是内联元素。内联元素通常不会以新行开始,如同单词,相互之间可以在同一行内显示;块级元素如同段落,不可能共存于同一行。

在Markdown中,段落、标题、列表、引用、块级代码段和分割线都是块级元素,而链接、图片、强调和内联代码段都是内联元素。
语法示例

* apple
### google
`ms`
*nokia*

显示效果

  • apple

google

ms
nokia


自动链接

Markdown支持自动链接形式来处理网址和Email地址,这样省了我们一些写HTML的力气,也可以让写作内容一目了然,用法是使用方括号<>包围地址内容。
语法示例

<http://xaolex.github.io>
<xaolex@gmail.com>

显示效果
http://xaolex.github.io
xaolex@gmail.com


自动转换

在HTML中,<>用于起始和结束标签,一些预留字符有特定的含义,因此这些字符需要使用字符实体才能正确地显示。
因此在传统的HTML文件中,如果你要表示AT&T,则要写成AT&T来转义,链接的href属性中包含&也同理,需要写成&。现在使用Markdown能帮你自动处理这些元素。
例如,如果你写成AT&T会被自动转换成AT&T4<5会自动转换成4<5
语法示例

AT&T
© taolex 2016
1 + 1 <> 1

显示效果
AT&T
© taolex 2016
1 + 1 <> 1


内嵌HTML

Markdown目标成为一种适合网络内容的写作语言。因此,在Markdown中可以很方便地使用HTML。有一点需要注意,Markdown不会处理块级元素的Markdown语法,像<table><div><p>里面用强调语法*ABC*
是无效的。
语法示例

<div>*content*</div>
<p>**paragraph**</p>
<span>***word***</span>
### <a href="#">*Title*</a>

显示效果
<div>content</div>
<p>paragraph</p>
<span>word</span>

<a href="#">Title</a>


嵌套使用

引用、列表还可以嵌套使用,引用可以嵌套标题、列表等,甚至嵌套另一个引用,列表也可以嵌套另一个列表。如果想要在列表或引用中嵌入块级代码段,则需要在原有基础上缩进8个空格或2个制表符。
语法示例

> *这是引用内容*
> > 再加个引用看看
> 
> * 这是引用中的列表
> * 这是引用中的列表
>

* meat
* vegetable
* fruit
  - apple
  - pear
  - orange

显示效果

这是引用内容

再加个引用看看

  • 这是引用中的列表
  • 这是引用中的列表
  • meat
  • vegetable
  • fruit
    • apple
    • pear
    • orange

其他语法说明

  • 一行中只含有空格和制表符也算空行。
  • 空一行分段。
  • 行尾输入两个空格加回车表示断行,即<br>
  • 如果两行之间不空一行表示空格。
  • 可以使用``
  • 进行注释。

小结

Github上折腾博客,很多地方都用到了Markdown,在网上搜索了一些资料学习Markdown,顺便写了这篇介绍常用Markdown语法的文章。我觉得这篇文章介绍得还是有点细了,其实很多细节的地方我们一般用不到的,用到的时候再查也不迟。

不过,如果你觉得这些语法还不够用的话,可以阅读官方的文章:
英文版:Markdown: Syntax
中文版:Markdown语法说明(详解版)

中文版还有wowubuntu上的另一个版本,不过我觉得上面这个版本翻译得更好一些。


WordPress.org

taolex客栈 自豪地采用WordPress

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容