概述
认识 Markdown
Markdown 是一种用来写作的轻量级【标记语言】,它通过使用一些符号组成的标记来实现像 Word 那样的排版。Markdown 的目的是实现【易读易写】,无论如何, 可读性,是最重要的。
Markdown 的优点
- 让我们专注于内容,而不是排版样式。
- 纯文本带来的超强的兼容性, 所有文本编辑器都能打开。
- 格式转换方便,能攻轻松地转换为 pdf,html 等。
- 语法简单,学习成本低。
Markdown 的误区
We believe that writing is about content, about what you want to say – not about fancy formatting. 我们坚信写作写得是内容,所思所想,而不是花样格式。-Ulysses for Mac
语法
特殊符号
Markdown 是通过精挑细选的一些符号来实现内容的排版的, 主要使用了:
\\ 反斜线 -- 用来转义,来实现符号插入
\` 反引号 -- Esc下方那个键,用于标记代码
\* 星号 -- 用于定义无序列表
_ 底线 -- 用来定义二级标题
= 等号 -- 用来定义一级标题
{} 花括号 --
[] 方括号 --
() 括弧 --
\# 井号 -- 用来定义标题
\+ 加号 -- 用来定义无序列表
\- 减号 -- 用来定义无序列表
\. 英文句号 -- 通过和数字组合定义有序列表
\! 感叹号 -- 用来区分引入的是网址还是图片
\> 尖括号 --用来定义引用区块
我们可以通过反斜杠来插入普通的符号,也可以通过反斜杠来插入一些语法中有其他意义的符号。例如用 * 号加在文字旁边的方式来做出强调
区块元素
标题
这是最常用的格式,Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。 类 Setext 形式是用底线的形式, 利用 "=" (最高阶标题)和 "-"(第二阶标题),例如:
This is H1
======
This is H1
===
This is H1
==
This is H2
--------
This is H2
---
This is H2
--
可以使用数量大于2个的 "=" 和 "-" 来实现一介标题和二阶标题。
类 Atx 形式则是在行首插入 1-6 个 "#",对应标题 1-6 阶,例如
# This is H1
## This is H2
### This is H3
#### This is H4
##### This is H5
###### This is H6
你可以像这样选择性的闭合类 Atx 样式的标题。
区块引用
Markdown 标记区块引用用的是 ">" 来引用,例如这样:
> 你的孤独,虽败犹荣。也许你现在仍然是一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。然而你却能一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。很多人离开另外一个人,就没有自己。而你却一个人,度过了所有。
你也可以这样:
> 你的孤独,虽败犹荣。 也许你现在仍然是一个人下班, 一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。
> 然而你却能一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。
> 很多人离开另外一个人,就没有自己。 而你却一个人,度过了所有。
你还可以这样:
> 你的孤独,虽败犹荣。
>
> > 也许你现在仍然是一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。
> >
> > 然而你却能一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。很多人离开另外一个人,就没有自己。
>
> 而你却一个人,度过了所有。
当然,还能这样:
> #### 你的孤独,虽败犹荣。
>
> * 也许你现在仍然是一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。
>
> 1. 然而你却能一个人下班,一个人乘地铁,一个人上楼,一个人吃饭,一个人睡觉,一个人发呆。很多人离开另外一个人,就没有自己。
>
> + 而你却一个人,度过了所有。
列表
Markdown 支持有序列表和无序列表。
无序列表通过 "*", "+", "-" 作为标记符号,例如:
* 1Red
* 1Green
* 1Blue
+ 2Red
+ 2Green
+ 2Blue
- 3Red
- 3Green
- 3Blud
有序列表则使用数字连接英文句号,例如:
1. 1Red
2. 1Green
3. 1Blue
211. 2Red
10. 2Green
54. 2Blue
很重要的一点是,不论你在列表上使用的数字为几都不影响 HTML 输出。
代码区块
和程序相关的写作,通常会有已经排版好的代码区块,我们不希望代码也和文章一样去排版,而是希望它按照原来的样子显示,那么我们就希望用 Markdown 建立代码区块。
Markdown 建立代码区块很简单,你可以简单的缩进 4 个空格或者 1 个制表符,例如:
这是一个普通段落
这是一个代码段落 4 个空格
这是一个普通段落
这是一个代码段落 1 个制表符
建立代码区块的 4 个方法中,4 个空格和一个制表符代码区块会一直持续到没有缩进的那一行或者文件结尾。
分隔线
我们可以在一行中通过三个以上的 ''*', "-", "_" 来建立一个分隔线,行内不能有除了空格以外的东西,下面是三种不同的写法建立的分隔线:
分隔线1
* * *
分隔线2
***
分隔线3
**********
分隔线4
- - -
分隔线5
---
分隔线6
----------
分隔线7
_ _ _
分隔线8
___
分隔线9
__________
分隔线要注意的是减号分隔线需要和上面一行间隔一行,不然会把上面那行定义为二阶标题。
区段元素
链接
Markdown 支持两种形式的链接语法:行内式和参考式。通过 "[]" 方括号来标记。行内式链接只需要在方括号后面加入圆括号并插入网址即可,如果还想加入链接的 title 文字,只需要在圆括号中在链接地址后加入一个空格再加入"" 把 title 文字包起来即可,例如:
这是[百度](http://www.baidu.com "网络1")。
这是[本地资源](/1.html "本地1")。
参考式链接是在链接文字的方括号之后再接一个方括号,第二个方括号里面放的是链接的标记,我们只要在文件中的任意位置把标记定义出来就可以了,例如:
这是[百度][baidu]。
这是[本地资源][bendi]。
[baidu]:http://www.baidu.com "网络1"
[bendi]:/1.html (本地1)
我们可以看得出来,无论是标记在何处定义,标记都是有效的,并且我们定义标记的时候定义的 title 可以采取双引号,圆括号 两种形式。
**请注意: ** Markdown.p1 1.0.1 会忽略单引号包起来的链接 title,所以我介绍的时候没有介绍单引号。
隐式链接标记功能可以让我们省去定义链接标记,例如:
这是[Google][]
[Google]:http://www.google.com
图片
Markdown 插入图片采取的是和链接很相似的语法来标记图片的,同样也是允许两种样式:行内式和参考式。都是在链接的前面添加一个 "!" 标识即可,存在 "!" 标识的为图片,不存在的为链接,例如:
这是本地行内图片1 ![图片1](/image/1.jpg "图片1")
这是网络行内图片2 ![图片1](http://blog.qiji.tech/wp-content/uploads/2016/01/12-e1453187944177-64x64.jpg "图片2")
[tupian3]: /image/1.jpg "图片3"
这是本地参考图片3 ![图片3][tupian3]
这是网络参考图片4 ![图片4][tupian4]
[tupian4]: http://blog.qiji.tech/wp-content/uploads/2016/01/12-e1453187944177-64x64.jpg "图片4"
我们写博文的时候经常要用到图片;推荐:事先通过我们博客的多媒体把图片上传到我们博客,到时候在文章中通过图片标签把链接加上即可;也可以直接使用我们编辑博文的编辑器上方的 “Add Media” 来添加图片。另外图片的命名需要注意,最好是图片所代表的意义,可为拼音可为英文,别直接用QQ截图xxxx的。我们上传的图片生成的链接是有规律的,如果没有命名重复的,一个批次上传的链接只有文件名不同,其他的都是一致的。
强调
Markdown 使用 "" 号和 "_" 来作为标记强调字词的符号,被一个 "" 或者一个 "" 包起来的字词会变成斜体,被两个 "*" 或者两个 "" 包起来的字词会被加粗,例如:
*斜体*
_斜体_
**粗体**
__粗体__
代码
如果要在行内添加代码,我们可以用\
把代码包起来`,例如:。
我要输出代码:`alert(ab);`。
我要输出代码:``alert(a`b);``。
注意: 三个 "```" 可以形成代码区块,标准Markdown 是不支持的,GFM 才支持
注意:我们的博客暂时不支持行内添加代码标签的使用。
本地撰写工具
Windows
- markdownpad2
- HarooPad
Mac
- Byword
- Mou
- MacDown
- Typora
Linux
- ReText
本文转载自 Markdown 新手指南,如有冒犯,侵权,即删。