Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

Markdown 的设计哲学

Markdown 的目标是实现“易读易写”。
可读性。一份使用 Markdown 格式的文件应该可以直接以纯文本发布,并看起来不会像是由许多标签或者格式指令构成。
Markdown 的语法有个主意的目的:用来作为一种网络内容的写作用语言。

标题

Markdown 语法:

1
2
3
# 第一级标题 `<h1>`
## 第二级标题 `<h2>`
###### 第六级标题 `<h6>`

强调

Markdown 语法:

1
2
3
4
5
*这些文字会生成`<em>`*
_这些文字会生成`<u>`_

**这些文字会生成`<strong>`**
__这些文字会生成`<strong>`__

效果如下:

这些文字会生成<em>

这些文字会生成<u>

这些文字会生成<strong>

这些文字会生成<strong>

换行

四个及以上空格加回车。

列表

无序列表

Markdown 语法:

1
2
3
4
* 项目一 无序列表 `* + 空格键`
* 项目二
* 项目二的子项目一 无序列表 `TAB + * + 空格键`
* 项目二的子项目二

在 MWeb 中的快捷键为: Option + U
效果如下:

  • 项目一 无序列表 * + 空格键
  • 项目二
  • 项目二的子项目一 无序列表 TAB + * + 空格键
  • 项目二的子项目二

有序列表

Markdown 语法:

1
2
3
4
5
1. 项目一 有序列表 `数字 + . + 空格键`
2. 项目二
3. 项目三
1. 项目三的子项目一 有序列表 `TAB + 数字 + . + 空格键`
2. 项目三的子项目二

效果如下:

  1. 项目一 有序列表 数字 + . + 空格键
  2. 项目二
  3. 项目三
  4. 项目三的子项目一 有序列表 TAB + 数字 + . + 空格键
  5. 项目三的子项目二

任务列表(Task lists)

Markdown 语法:

1
2
- [ ] 任务一 未做任务 `- + 空格 + [ ]`
- [x] 任务二 已做任务 `- + 空格 + [x]`

效果如下:

  • 任务一 未做任务 - + 空格 + [ ]
  • 任务二 已做任务 - + 空格 + [x]

图片

Markdown 语法:

1
2
![GitHub set up](http://zh.mweb.im/asset/img/set-up-git.gif)
格式: ![Alt Text](url)

效果如下:

GitHub set up

链接

Markdown 语法:

1
2
3
email <example@example.com>
[GitHub](http://github.com)
自动生成连接 <http://www.github.com/>

效果如下:

Email 连接: example@example.com
连接标题Github网站
自动生成连接像: http://www.github.com/ 这样

区块引用

Markdown 语法:

1
2
3
某某说:
> 第一行引用
> 第二行费用文字

效果如下:

某某说:

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

行内代码

Markdown 语法:

1
像这样即可:`<addr>` `code`

效果如下:

像这样即可:<addr> code

多行或者一段代码

Markdown 语法:

1
2
3
4
5
6
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}

}

效果如下:

1
2
3
4
5
6
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}

}

表格

Markdown 语法:

1
2
3
4
第一格表头 | 第二格表头
--------- | -------------
内容单元格 第一列第一格 | 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格

效果如下:

第一格表头 第二格表头
内容单元格 第一列第一格 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 内容单元格第二列第二格

删除线

Markdown 语法:

加删除线像这样用:

1
~~删除这些~~

效果如下:

加删除线像这样用: 删除这些

分隔线

以下三种方式都可以生成分隔线:

1
2
3
4
5
***

*****

- - -

效果如下: