概述


Markdown的优点:

  • 纯文本,所以兼容性极强,可以用所有文本编辑器打开。
  • 让你专注于文字而不是排版。
  • 格式转换方便,Markdown 的文本你可以轻松转换为 html、电子书等。
  • Markdown 的标记语法有极好的可读性。

基本语法


1.标题: #, ##, ###, ####, #####, ###### 分别代表<h1>-<h6> 2.链接:

  • 文本链接 title
  • 脚注形式:即先在正文使用:[链接文字][链接引用标签],然后在文档末尾使用:[链接引用标签]: 链接地址 “链接标题” 比如: > I get 10 times more traffic from Google than from Yahoo or MSN.

  • 直接连接地址: http://xiajian.github.io
  • 图片
  • 电子邮件:address@example.com

3.换行:至少在一行后面连输2个空格。

4.列表: - 无序列表 - + * 都可以 - xby * hahah

  • 有序列表:有序的列表则是使用一般的数字接着一个英文句点作为项目标记:
    1. xby
    2. hahah

5引用:> > xbaiasjksa

6.代码段 ``或使用四个空格缩进,或使用tab键缩进。所以注意,千万别在markdown中随意使用缩进,或tab键 import java.util.Date

也可以这样:

这是一个普通段落: u 这是一个代码区块。

Markdown 会转换成:

<p>这是一个普通段落:</p>
<pre><code>这是一个代码区块。</code></pre>

7.粗体斜体: 粗体斜体

8.表格:

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

9.水平分隔线: 几种形式如下: * * *
*
**
*
—-
- - -
—————————————
效果大多相同:
—–

10.在markdown文件中使用html标签:

Markdown 语法的目标是:成为一种适用于网络的书写语言。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。

HTML 区块元素――比如 <div>、<table>、<pre>、<p> 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的 <p> 标签。

例子如下,在 Markdown 文件里加上一段 HTML 表格:

这是一个普通段落。

Foo

这是另一个普通段落。

请注意,在HTML区块标签间的 Markdown 格式语法将不会被处理。比如,你在 HTML 区块内使用 Markdown 样式的强调会没有效果。

11.特殊字符自动转换

在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是 < 和 &。

12.代码段:

这是一个代码段

不知为何,本地安装的Jekyll 2.3.0 好像不支持```这种格式的代码段,难道这根Markdown语法格式有关?!

二、总结


链接的添加,共有三种形式,Markdown支持相对链接。

<链接> :这种形式只是简单的标出链接;
[文字](链接 “标题”):给文字添加链接,其中标题是可选的;
[文字][标记]:给文字添加链接,链接在下面的一个以[标记]开头的新行(一般是文章末尾)给出。或者直接以[文字][]这种形式编写,在下面的新行中使用[文字]:链接的形式声明链接。

图片的添加:跟链接比起来,图片只是多了在前面多了一个叹号”!”。 标题格式:Markdown提供了2种方式。

第一种是在标题前面加上1~6个”#”表示”<h1>”~”<h6>”。
第二种是在标题下面另起一行,输入四个以上的等号“=”来表示”<h1>”,输入四个以上的减号“-”来表示”<h2>”。

粗体和斜体:用星号”*”或者下划线”_”

一个表示斜体;
两个表示粗体;
三个表示粗斜体。

引用内容:就是html标记的”<blockquote>”,只要在行首用右尖括号>就行了。如果要嵌套引用,那就多打几个>。 原文输出:如果不想Markdown解释某些内容,有两种方式:

第一个是转义为html的”<pre>”标签:要在要原样输出的内容前面加入至少4个空格或者1个tab的宽度;
第二个是转义为”<code>”标签:给要输出的内容加上”`”号(就是esc下头那个键)。

无序列表:在文字前面使用星号”*”、加号”+”、减号”-”中的任意一个,注意在这些符号后面要留一个空格。

有序列表:在第一条前添加一个数字,后跟一个英文句点”.”。无论第一个条目前加的数字是什么,列表都会从1开始计数。

转义符:”\”。只要给不希望被转义的字符前面加上\就可以了。

HTML实体:如果要在内容中输出”<”或者”&”符号,那么必须用[HTML实体][]代替。Markdown会把HTML的特殊符号直接翻译为HTML实体。

换行符:Markdown中在一行的末尾使用两个以上的空格标示HTML中的一个换行符”
”。

段落:只要两行之间有一个空行,Markdown就会把它识别为一个段落。 (在列表之前一定要加入一个空行,要不然Markdown是不会把”*”识别为列表的。)

水平线:使用三个以上的”*”或”-”来表示。这些星号跟减号之间可以用空格,如果减号没有空格,那它必须在单独的一个段落里,要不它会被识别为标题的。

直接使用HTML标记:有些Markdown不支持的标签可以直接写HTML标记,例如表格。

语法速查


Markdown 语法速查表

1 标题与文字格式
标题

# 这是 H1 <一级标题>
## 这是 H2 <二级标题>
###### 这是 H6 <六级标题>

文字格式

**这是文字粗体格式**
*这是文字斜体格式*
~~在文字上添加删除线~~

2 列表
无序列表

* 项目1
* 项目2
* 项目3

有序列表

1. 项目1
2. 项目2
3. 项目3
   * 项目1
   * 项目2

3 其它
图片

![图片名称](http://gitcafe.com/image.png)

链接

[链接名称](http://gitcafe.com)

引用

> 第一行引用文字
> 第二行引用文字

水平线

***

代码

`<hello world>`

代码块高亮

```ruby
  def add(a, b)
    return a + b
  end
```

表格

  表头  | 表头
  ------------- | -------------
 单元格内容  | 单元格内容
 单元格内容l  | 单元格内容

参考文献


  1. MarkDown语法小结