README.md 7.02 KB
Newer Older
颜俊逸's avatar
颜俊逸 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
## 主要内容
> #### Markdown*是什么*?
> #### *谁*创造了它?
> #### *为什么*要使用它?
> #### *怎么*使用?
> #### *谁*在用?
> #### 尝试一下

## 正文
### 1. Markdown*是什么*?
**Markdown**是一种轻量级**标记语言**,它以纯文本形式(*易读、易写、易更改*)编写文档,并最终以HTML格式发布。    
**Markdown**也可以理解为将以MARKDOWN语法编写的语言转换成HTML内容的工具。    

### 2. *谁*创造了它?
它由[**Aaron Swartz**](http://www.aaronsw.com/)**John Gruber**共同设计,**Aaron Swartz**就是那位于去年(*2013年1月11日*)自杀,有着**开挂**一般人生经历的程序员。维基百科对他的[介绍](http://zh.wikipedia.org/wiki/%E4%BA%9A%E4%BC%A6%C2%B7%E6%96%AF%E6%B2%83%E8%8C%A8)是:**软件工程师、作家、政治组织者、互联网活动家、维基百科人**

他有着足以让你跪拜的人生经历:    
+ **14岁**参与RSS 1.0规格标准的制订。     
+ **2004**年入读**斯坦福**,之后退学。   
+ **2005**年创建[Infogami](http://infogami.org/),之后与[Reddit](http://www.reddit.com/)合并成为其合伙人。   
+ **2010**年创立求进会(Demand Progress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案被撤回。   
+ **2011**年7月19日,因被控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕。     
+ **2013**年1月自杀身亡。    

![Aaron Swartz](https://github.com/younghz/Markdown/raw/master/resource/Aaron_Swartz.jpg)

天才都有早逝的归途。

### 3. *为什么*要使用它?
+ 它是易读(看起来舒服)、易写(语法简单)、易更改**纯文本**。处处体现着**极简主义**的影子。
+ 兼容HTML,可以转换为HTML格式发布。
+ 跨平台使用。
+ 越来越多的网站支持Markdown。
+ 更方便清晰地组织你的电子邮件。(Markdown-here, Airmail)
+ 摆脱Word(我不是认真的)。

### 4. *怎么*使用?
如果不算**扩展**,Markdown的语法绝对**简单**到让你爱不释手。

Markdown语法主要分为如下几大部分:
**标题****段落****区块引用****代码区块****强调****列表****分割线****链接****图片****反斜杠 `\`****符号'`'**

#### 4.1 标题
两种形式:  
1)使用`=``-`标记一级和二级标题。
> 一级标题   
> `=========`   
> 二级标题    
> `---------`

效果:
> 一级标题   
> =========   
> 二级标题
> ---------  

2)使用`#`,可表示1-6级标题。
> \# 一级标题   
> \## 二级标题   
> \### 三级标题   
> \#### 四级标题   
> \##### 五级标题   
> \###### 六级标题    

效果:
> # 一级标题   
> ## 二级标题   
> ### 三级标题   
> #### 四级标题   
> ##### 五级标题   
> ###### 六级标题

#### 4.2 段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用**两个以上**空格加上回车(引用中换行省略回车)。

#### 4.3 区块引用
在段落的每行或者只在第一行使用符号`>`,还可使用多个嵌套引用,如:
> \> 区块引用  
> \>> 嵌套引用  

效果:
> 区块引用  
>> 嵌套引用

#### 4.4 代码区块
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如    
普通段落:

void main()    
{    
    printf("Hello, Markdown.");    
}    

代码区块:

    void main()
    {
        printf("Hello, Markdown.");
    }

**注意**:需要和普通段落之间存在空行。

#### 4.5 强调
在强调内容两侧分别加上`*`或者`_`,如:
> \*斜体\*,\_斜体\_    
> \*\*粗体\*\*,\_\_粗体\_\_

效果:
> *斜体*,_斜体_    
> **粗体**,__粗体__

#### 4.6 列表
使用`·``+`、或`-`标记无序列表,如:
> \-(+\*) 第一项
> \-(+\*) 第二项
> \- (+\*)第三项

**注意**:标记后面最少有一个_空格_或_制表符_。若不在引用区块中,必须和前方段落之间存在空行。

效果:
> + 第一项
> + 第二项
> + 第三项

有序列表的标记方式是将上述的符号换成数字,并辅以`.`,如:
> 1 . 第一项   
> 2 . 第二项    
> 3 . 第三项    

效果:
> 1. 第一项
> 2. 第二项
> 3. 第三项

#### 4.7 分割线
分割线最常使用就是三个或以上`*`,还可以使用`-``_`

#### 4.8 链接
链接可以由两种形式生成:**行内式****参考式**
**行内式**
> \[younghz的Markdown库\]\(https:://github.com/younghz/Markdown "Markdown"\)。

效果:
> [younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown")。

**参考式**
> \[younghz的Markdown库1\]\[1\]    
> \[younghz的Markdown库2\]\[2\]    
> \[1\]:https:://github.com/younghz/Markdown "Markdown"    
> \[2\]:https:://github.com/younghz/Markdown "Markdown"    

效果:
> [younghz的Markdown库1][1]    
> [younghz的Markdown库2][2]

[1]: https:://github.com/younghz/Markdown "Markdown"
[2]: https:://github.com/younghz/Markdown "Markdown"

**注意**:上述的`[1]:https:://github.com/younghz/Markdown "Markdown"`不出现在区块中。

#### 4.9 图片
添加图片的形式和链接相似,只需在链接的基础上前方加一个`!`
#### 4.10 反斜杠`\`
相当于**反转义**作用。使符号成为普通符号。
#### 4.11 符号'`'
起到标记作用。如:
>\`ctrl+a\`

效果:
>`ctrl+a`    

#### 5. *谁*在用?
Markdown的使用者:
+ GitHub
+ 简书
+ Stack Overflow
+ Apollo
+ Moodle
+ Reddit
+ 等等

#### 6. 尝试一下
+ **Chrome**下的插件诸如`stackedit``markdown-here`等非常方便,也不用担心平台受限。
+ **在线**的dillinger.io评价也不错   
+ **Windowns**下的MarkdownPad也用过,不过免费版的体验不是很好。    
+ **Mac**下的Mou是国人贡献的,口碑很好。
+ **Linux**下的ReText不错。    

**当然,最终境界永远都是笔下是语法,心中格式化 :)。**

****
**注意**:不同的Markdown解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。
虽然有人想出面搞一个所谓的标准化的Markdown,[没想到还惹怒了健在的创始人John Gruber]
(http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/ )。
****
以上基本是所有traditonal markdown的语法。

### 其它:
列表的使用(非traditonal markdown):

`|`表示表格纵向边界,表头和表内容用`-`隔开,并可用`:`进行对齐设置,两边都有`:`则表示居中,若不加`:`则默认左对齐。

|代码库                              |链接                                |
|:------------------------------------:|------------------------------------|
|MarkDown                              |[https://github.com/younghz/Markdown](https://github.com/younghz/Markdown "Markdown")|
|MarkDownCopy                              |[https://github.com/younghz/Markdown](https://github.com/younghz/Markdown "Markdown")|


关于其它扩展语法可参见具体工具的使用说明。