Markdown是用于书写纯文本文件的语言,通过一些特殊标记使文本更加容易读,而且兼容HTML。
如果想看本文的例子,可以将代码块中的文字复制到在线 Markdown 编译器来查看效果
本文是我在使用Markdown时所作的总结,更详细的Markdown语法请看Markdown 语法说明 (简体中文版)
这样表示H1
=========
# 这也可以表示H1
这表示H2
-------
## 这也是H2 ##
### H3 后面放几个`#`都无所谓
#### H4 H1~H6 都可以用`#`方式来表达
一行中用三个以上的星号、减号、底线都能建立一个分隔线,行内可以有空格,但不能有其他东西。如下均可以:
* * *
***
*****
- - -
----------------------------------------
______
文字前后要有一个以上的空行才会产生段落,文本中的换行并不会产生换行符<br />
,如果要强制产生换行符<br />
的话,可以在行末尾加两个空格。如下:
这样是不产
生换行的
如果在末尾加两个空格
就会强制换行
代码分为行内的代码(如printf()
)和代码块,建立代码块需要将代码块缩紧4个空格或一个tab键,行内代码可通过反引号`
实现。如下:
这是普通段落
这是代码块
这是行内代码`printf()`
如果行内代码本身包含反引号,可以使用多个反引号来开启和关闭代码块,
如:`` `foo` ``,为了能正确表示一开始就有反引号的情况,中间的内容要用空格隔开。
在行首添加>
表示引用,如下:
> 行首加引用
>
> 也可以偷懒,只在每
一段的开头加一个也可以
>
> 还能嵌套引用
>
> > 嵌套引用
>
> ### 里面还能写其他的markdown语法
>
> printf("代码区块也可以");
Markdown 支持有序列表和无序列表,无需列表会转换成html中的<ul>
,有序列表会转换成html中的<ol>
。
无序列表使用星号、加号或是减号作为列表标记,标记与内容间至少有一个空格,如:
* Red
* Green
+ Blue
- Yello
有序列表则使用数字接着一个英文句点,如:
1. Bird
2. McHale
3. Parish
9. 数字的序号是无所谓的
链接语法包括行内式和参考式两种形式
行内式的链接,链接文字都是用 [方括号] 来标记, 如:
这是个链接[百度](http://www.baidu.com #maodian)
这是个链接[百度](http://www.baidu.com "Title")
参考式是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里填入用以辨识链接的标记(不区分大小写),如:
这是[百度][1]
这是[谷歌][2]
[1]: http://www.baidu.com "Optional Title Here"
[2]: http://www.google.com "Optional Title Here"
其内容定义的形式为:
Markdown 使用星号(*
)和底线(_
)作为标记强调字词的符号,被 *
或 _
包围的字词会被转成用 <em>
标签包围,
用两个 *
或 _
包起来的话,则会被转成 <strong>
。
如果 *
和 _
两边都有空白的话,它们就只会被当成普通符号。
如果要在文字前后直接插入普通的星号或底线,就需要用反斜线来转义。
图片跟链接很类似,同样分为行内式和参考式。只是比链接前面多了一个!
,如:
![Alt text](/path/to/img.jpg "Optional title")
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮箱,只要用尖括号包起来。
网址的链接文字就和链接地址一样,例如:
<http://example.com/>
Markdown 会转为:
<a href="http://example.com/">http://example.com/</a>
邮件的自动链接也很类似,只是 Markdown 会先做一个编码转换的过程,把文字字符转成 16 进位码的 HTML 实体,这样的格式可以糊弄一些不好的邮址收集机器人,例如:
<address@example.com>
Markdown 会转成:
<a href="mailto:addre
ss@example.co
m">address@exa
mple.com</a>
这段字(其实是 <a href="mailto:address@example.com">address@example.com</a>
) 会变成一个可以点击的「address@example.com」链接。
貌似邮件自动链接在开始提到的在线 Markdown 编译器中不起作用