use markdown

##引言
MarkDown的目标是实现易读易写。它用来作为一种网络内容的写作语言。但是我们不是要用它来取代HTML,而是它能让文档更容易阅读、编写。

参考图灵社区MarkDown语言说明(详解版)

##标题
MarkDown支持的标语语法有以下两种:SetextAtx

####Setext形式
主要采用底线的形式表示,利用=(一级标题)和-(二级标题),例如:

一级标题
=======

二级标题
-------

任何数量的=-都有效果。

####Atx形式
Atx形式是通过在前端加入1到6个#,从而对应到标题h1h6,井字的数量决定了标题的级别,例如:

#这是h1标题

##这是h2标题

####这是h4标题

##段落、换行和首行缩进
段落是有一个以上相连接的行句组成,段落之间是以空行来进行切分(若一行只包含空白和tab,该行也被视为空行)

换行在html中是采用<br />标签,在此是通过行尾加上两个以上的空白构成

首行缩进是在行的最前端插入两个$emsp;,从而实现缩进两字。

##区块引言
MarkDown中的区块引言采用email形式,通过在每行前面添加>,例子:

>这是一个区块引言事例
>通过>符号来达到引言的效果。

>而且也允许只在整个段落的第一行
最前面加上>。

当然,在区块中也存在级别的划分,即引言的引言,只要根据级别添加不同数量的>即可,例子:

>这里是第一级别
>
>>这里是第二级别,内嵌的引言
>
>返回第一级别

在区块引言中也可以使用其他的MarkDown语法,包括标题,列表等,例子:

>##这是标题
>
>1.这是列表第一项
>2.这是列表第二项

##列表
在MarkDowm中支持有序列表和无序列表。

####无序列表
无序列表采用*,+或是-作为列表标记:

* 红
* 绿
* 蓝

等价于:

+ 红
+ 绿
+ 蓝

也等价于:

- 红
- 绿
- 蓝

####有序列表
有序列表采用数字后面接着一个英文句号.来表示:

1. 红
2. 绿
3. 蓝

##程序代码区块
和程序相关的写作或是语言原始代码通常会有排版好的程序代码区块,一般不希望采用文本的方式去排版,而是照原有的样子去显示。

在MarkDown中建立程序代码区块很简单,只要简单地缩进4个空白或是1个tab即可,例子:

1
2
3
4
5
6
7
#include<iostream>  
using namespace std;
int main()
{

cout<<"hello world"<<endl;
return 1;
}

##分隔线
可以在一行中使用三个或以上的*,-或是_来建立一个分割线,行内不能有其他东西,一下写法都可以建立分隔符:

***

******

---

________

##链接
MarkDown支持两种形式的链接语法,分别为行内参考两种。

####行内链接
行内形式的链接,是在方块括号后面马上接着括号并插入网址链接,如果你还想要加上链接的title文字,只要在网址后面,用双引号把title文字包起来即可,例子,创建google的链接:

这里是搜索引擎[google](https://www.google.com)

这里是搜索引擎[google](https://www.google.com "Title")

当然在上面的链接中可以使用本地的相对路径。

####参考链接
参考链接是使用另一个方括号接在链接文字的括号后面,在第二个方括号里面要填入用以辨识链接的标签:

这里是搜索引擎[google][1]
[1]:https://www.google.com 

这里是搜索引擎[google][1]
[1]:https://www.google.com "Title"

默认的链接标签功能可以省略指定链接标签,在这种情况下,链接标签和链接文字会视为相同,例子:

这里是搜索引擎[google][]
[google]:https://www.google.com 

链接的定义可以放在文档中的任何一个地方,可以直接放在链接出现段落的后面,也可以把它放在文档最后面,就像是批注一样。

I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [MSN] [3].

  [1]: http://google.com/        "Google"
 [2]: http://search.yahoo.com/  "Yahoo Search"
  [3]: http://search.msn.com/    "MSN Search"

##自动链接
MarkDown也支持比较简短的自动链接形式来处理网址和电子邮件信箱,只需要使用方括号包起来,例如:

<http://www.google.com>

MarkDown会转换成下面的html代码:
<a href="http://www.google.com">http://www.google.com</a>

##强调
MarkDown中使用*_作为标记强调字词的符号,主要分为倾斜加粗

####倾斜
用一个*_包围的字词会被变成倾斜,从而在html中被<em>标签包围,例子:

*倾斜*

_倾斜_

####加粗
用两个*_包围的字词会被加粗,从而在html中被<strong>标签包围,例子:

**加粗**

__加粗__

如果要在文字前后直接插入普通的星号或底线,可以用反斜杠:

\*普通的文本\*

##图片引用
MarkDown中采用和链接相似的语法来标记图片,同样也允许两种样式:行内参考

####行内
行内的语法和链接很相似,只是在最前端加上了一个!符号,例子:

![Alt text](/path/img/test.jpg)

![Alt text](/path/img/test.jpg "title")

####参考
参考的语法如下所示:

![Alt text][1]
[1]:/path/img/test.jpg

![Alt text][1]
[1]:/path/img/test.jpg "title"

但是,到目前为止,在MarkDown中无法指定图片的宽和高,如果需要的话,可以使用普通的<img>标签。

##转义字符
如果想在MarkDown中插入以下的普通的符号,需要使用\进行转义:

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

##MarkDown编辑器

####在线编辑器
Cmd Markdown
Stackedit

####本地编辑器
MarkdownPad

Comments