Markdown基本语法

认识 Markdown 是从使用Github开始的,一直很好奇那个.md 文件到底是干什么的。直到在某次在伯乐在线看到了到了关于Markdown的介绍才有所了解。之前虽然在使用 MediaWiki的时候略微了解了一下语法但是使用时间很短早就忘掉了。直到最近开始使用 IPython Notebook 了,那就好好学习一下优雅的 Markdown 吧!

吐槽一下,博客园的 Markdown 真是渣,显示效果好多不对。

  • 标题与标题之间间距、标题与正文之间的间距
  • 有序列表的嵌套
  • 为什么***就显示不了分割线呢?

1.段落

  1. 单个回车视为空格,多个回车才能分段。
  2. 行尾加两个空格实现段内换行。

2.标题

# 一级标题

## 二级标题

### 三级标题

……

3.区块引用

一级引用在段落前加一个 >,如果二级引用则使用 >>。

> + 这是一个引用的第一行。
这是第二行。
> > – 这是一个嵌套引用的第一行。
嵌套引用第二行。
>
> + 外层引用的第三行

效果:

  • 这是一个引用的第一行。
    这是第二行。

    • 这是一个嵌套引用的第一行。
      嵌套引用第二行。
  • 外层引用的第三行

4.列表

列表分为有序列表和无序列表。
无序列表的定义形式:

* 无序列表中的一项,注意星号以后有空格
  * 无序列表的子项,要以一个制表符或者4个空格缩进
* 无序列表中的第二项

效果:

  • 无序列表中的一项,注意星号以后有空格
    • 无序列表的子项,要以一个制表符或者4个空格缩进
  • 无序列表中的第二项

有序列表的定义形式

1. 有序列表有编号,数字后面紧跟一个空格
 1. 子项起始处保持一个空格缩进
 2. * 或者英文 . 之后保留一个空格
2. 有序列表中的第二项

效果:

  1. 有序列表有编号,数字后面紧跟一个空格
    1. 子项起始处保持一个空格缩进
    2. * 或者英文 . 之后保留一个空格
  2. 有序列表中的第二项

5.代码区块

如果想要插入代码有两种方式。一个是用反引号 ` 包起来,一种是用制表符或至少四个空格缩进。

  void Hello(){ System.out.println(“Hello World!”)}

效果:

void Hello(){ System.out.println("Hello World!")}

6.分割线

3个或3个以上的 ***


7.链接

地址链接

[需要显示的文字](链接地址),例:

[Dr. Lightman](http://www.cnblogs.com/NO-30/)
效果: Dr. Lightman


图片链接

![图片的替代文字](URL),例:

![测试图片](http://pic.cnitblog.com/avatar/504460/20130316182932.png)
测试图片


参考形式

[Dr. Ligthman][1]
![Dr. Ligthman Logo][2]

[1]:http://www.cnblogs.com/NO-30/
[2]:http://pic.cnitblog.com/avatar/504460/20130316182932.png

效果:

Dr. Ligthman
Dr. Ligthman Logo

8.强调

  1. *斜体* 的效果为 斜体
  2. **粗体** 的效果是 粗体

9.反斜杠

反斜杠用来作为转义字符,比如放在 * 前面取消斜体的转义等。

尾声

最后推荐一下我使用过的几个在线 Markdown 编辑器:

个人觉得最赞的还是马克飞象。这三个在线编辑器都提供了丰富的文本编辑功能,但是马克飞象可以连接印象笔记,方便内容的管理和组织。马克飞象还支持在线编辑文档的导出,支持 Markdown、HTML、PDF 三种格式。

你给别人传文件最先想到什么格式?当然是PDF!打印到纸上是真正的所见即所得,还能防止文档被修改。虽然 PDF 导出还需要借助 Chrome 的打印功能,但是这个功能还是很赞!