2014.12.18 更新:更换了几个主题,发现有些主题的确会出现部分 md 语法没效果的情况
2019.01.08 更新:排版调整,代码块 hexo、表格部分修改

Markdown 是一种极简的『标记语言』,将文本转为 HTML,通常为我大码农所用。其不追求大而全,简洁至上,正所谓不求最贵,只求最好!

本文介绍 Markdown 基本语法,内容很少,一行语法一行示例,学会后可轻松写出高大上的文档,再也不需要各种编辑器去调文章格式。另外,网上有各平台下的 Markdown 工具可用,也有在线的,我直接使用 sublime 搞定,Markdown 本来就是为了追求简洁,弄个工具岂不多此一举。

强调

星号与下划线都可以,单是斜体,双是粗体,符号可跨行,符号可加空格。

1
2
3
4
5
**一个人来到田纳西**
**毫无疑问**
_我做的馅饼
是全天下_
_最好吃的_

一个人来到田纳西
毫无疑问
我做的馅饼
是全天下

最好吃的


分割线

三个或更多-_*,必须单独一行,可含空格。

1
---


引用

符号后的空格可不要。

1
> 引用

引用

内层符号前的空格必须要

1
2
3
> 引用
>
> > 引用中的引用

引用

引用中的引用


标题:Setext 方式

另起一行在文字下方加===或---。

1
2
3
# 大标题

## 小标题

大标题

小标题


标题:Atx 方式

1
2
3
4
5
6
7
8
9
10
11
# 一级标题

## 二级标题

### 三级标题

#### 四级标题

##### 五级标题

###### 六级标题

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

无序列表

符号之后的空格不能少,-+*效果一样,但不能混合使用,因混合是嵌套列表,内容可超长。

1
2
3
4
- 无序列表
- 无序列表
- 无序列表
- 无序列表:我很长。我也很长!那比一比啊?比就比!我有这么长,你有我长吗?我有这么这么长!好吧,你赢了!
  • 无序列表
  • 无序列表
  • 无序列表
  • 无序列表:我很长。我也很长!那比一比啊?比就比!我有这么长,你有我长吗?我有这么这么长!好吧,你赢了!

有序列表

数字不能省略但可无序,点号之后的空格不能少。

1
2
3
4
1. 有序列表
2. 有序列表
3. 有序列表
4. 有序列表
  1. 有序列表
  2. 有序列表
  3. 有序列表
  4. 有序列表

嵌套列表

-+*可循环使用,但符号之后的空格不能少,符号之前的空格也不能少。

1
2
3
4
5
6
7
8
9
10
- 嵌套列表

* 嵌套列表
* 嵌套列表

- 嵌套列表

* 嵌套列表

- 嵌套列表
  • 嵌套列表
    • 嵌套列表
    • 嵌套列表
      • 嵌套列表
        • 嵌套列表
  • 嵌套列表

文字超链:Inline 方式

Tooltips 可省略。

1
[不如](http://bruce-sha.github.io '不如的博客')

不如


图片超链

多个感叹号,Tooltips 可省略,要设置大小只能借助 HTML 标记。

1
![GitHub Mark](http://github.global.ssl.fastly.net/images/modules/logos_page/GitHub-Mark.png 'GitHub Mark')

GitHub Mark


索引超链:Reference 方式

索引 1、2 可以是任意字符。

1
2
3
4
[不如][1]
![GitHub Octocat][2]
[1]:http://bruce-sha.github.io
[2]:http://github.global.ssl.fastly.net/images/modules/logos_page/Octocat.png

[不如][1]
![GitHub Octocat][2]
[1]:http://bruce-sha.github.io
[2]:http://github.global.ssl.fastly.net/images/modules/logos_page/Octocat.png


自动链接

尖括号

1
2
<http://ibruce.info>
<[email protected]>

http://ibruce.info
bu.ru@qq.com


代码:行内代码

在第一行后指定编程语言,也可以不指定。

```java
String s = “hello world”;
System.out.println(s);
```

1
2
String s = "hello world";
System.out.println(s);

代码:段落代码

每行文字前加 4 个空格或者 1 个 Tab。

String s = "hello world";
System.out.println(s);

代码:hexo

可指定编程语言、title

1
2
3
4
5
{% codeblock lang:java Main.java  %}
public static void main(String[] args) {
System.println('Hello World!');
}
{% endcodeblock %}
Main.java
1
2
3
public static void main(String[] args) {
System.println('Hello World!');
}

注释

用 html 的注释,好像只有这样?

1
<!--注释-->

转义字符

Markdown 中的转义字符为\ ,转义的有:

1
2
3
4
5
6
7
8
9
10
11
\\ 反斜杠
\` 反引号 \* 星号
\_ 下划线
\{\} 大括号
\[\] 中括号
\(\) 小括号
\# 井号
\+ 加号
\- 减号
\. 英文句号
\! 感叹号

其它

文本中可直接用 html 标签,但是要前后加上空行。


表格

Markdown 的扩展语法,hexo 不支持。

1
2
3
4
| 姓名 | 年级   | 班级 |
| ---- | ------ | ---- |
| 小明 | 五年级 | 1 班 |
| 小红 | 四年级 | 2 班 |
姓名 年级 班级
小明 五年级 1 班
小红 四年级 2 班

(完)


参考文章:http://ibruce.info/2013/11/26/markdown