标题
Markdown支持两种标题的语法,类Setext和类atx形式。
类Setext
使用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),=或-需两个以上。
语法:
H1标题
====
H2标题
----
效果:
H1标题
H2标题
类Atx
在行首插入1到6个# ,对应到标题1到6阶,也可以选择闭合类 atx 样式的标题,这纯粹只是美观用的,闭合类 atx 即在行尾加上#,而行尾的#数量也不用和开头一样(行首的井字符数量决定标题的阶数)
语法(非闭合类):
# H1标题
## H2标题
### H3标题
#### H4标题
##### H5标题
###### H6标题
语法(闭合类):
# H1标题 #
## H2标题 ##
### H3标题 ###
#### H4标题 ###
##### H5标题 ##
###### H6标题 ######
效果:
H1标题
H2标题
H3标题
H4标题
H5标题
H6标题
列表
Markdown 支持有序列表和无序列表。
无序列表
无序列表使用星号、加号或是减号作为列表标记:
语法:
* 列表1
- 列表二
+ 列表三
效果:
- 列表1
- 列表二
- 列表三
有序列表
有序列表则使用:数字+英文句点+空格,标记上使用的数字并不会影响输出的 HTML 结果,官方建议第一个项目最好还是从 1. 开始,因为 Markdown 未来可能会支持有序列表的 start 属性。
语法:
1. 列表1
3. 列表2
2. 列表3
效果:
- 列表1
- 列表2
- 列表3
列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:
语法:
1. 列表1,段落1
列表1,段落2
2. 列表2,段落1
效果:
-
列表1,段落1
列表1,段落2
列表2,段落1
如果要在列表项目内放进引用,那 > 就需要缩进,如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符
语法:
+ A list item with a blockquote:
> This is a blockquote
> inside a list item.
System.out.pringln(hello);
效果:
-
A list item with a blockquote:
This is a blockquote
inside a list item.
System.out.pringln(hello);
若遇到需要显示数字+英文句号+空格的时候,则可以使用转义符:
语法:2017\. 你好
效果:2017. 你好
引用
在 Markdown 中,引用只需要在文本前加入 > ,可以在每行的最前面加上 > ,也允许只在整个段落的第一行最前面加上 >,区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 >。
语法:
> 这是一段引用
引用
>> 嵌套引用
>>> 三层嵌套
效果:
这是一段引用
引用嵌套引用
三层嵌套
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等
语法:
> ## 这是一个标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 代码:
>
> System.out.println("hello");
效果
这是一个标题。
- 这是第一行列表项。
- 这是第二行列表项。
代码:
System.out.println("hello");
链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。
行内式
链接文字用 [] 来标记,后面紧接着圆括号并插入网址链接,如果还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可
语法:[]()
示例:[我的主页](http://www.jianshu.com/u/8a3115bb299c "title")
效果:我的主页
参考式
链接文字同样用 [] 来标记,后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,接着,在文件的任意处,你可以把这个标记的链接内容定义出来。
示例:
这是[我的主页] [home1]
[home1]: http://www.jianshu.com/u/8a3115bb299c "title1"
这是[我的主页] [home2]
[home2]: http://www.jianshu.com/u/8a3115bb299c (title2)
这是[我的主页] [home3]
[home3]: <http://www.jianshu.com/u/8a3115bb299c> (title3)
效果:
这是[我的主页] [home1]
[home1]: http://www.jianshu.com/u/8a3115bb299c "title1"
这是[我的主页] [home2]
[home2]: http://www.jianshu.com/u/8a3115bb299c (title2)
这是[我的主页] [home3]
[home3]: http://www.jianshu.com/u/8a3115bb299c (title3)
链接内容定义的形式为:
- 方括号里面输入链接文字
- 接着一个冒号
- 接着一个以上的空格或制表符
- 接着链接的网址,链接网址也可以用尖括号包起来
- 选择性地接着 title 内容,可以用双引号或是括弧包着
隐式链接标记功能让你可以省略指定链接标记,链接标记会视为等同于链接文字,要用隐式链接标记只要在链接文字后面加上一个空的方括号。
示例:
这是[我的主页] []
[我的主页]: <http://www.jianshu.com/u/8a3115bb299c> (title4)
效果
这是[我的主页] []
[我的主页]: http://www.jianshu.com/u/8a3115bb299c (title4)
参考式的链接其实重点不在于它比较好写,而是它比较好读,让你可以把一些标记相关的元数据移到段落文字之外,增加链接而不让文章的阅读感觉被打断。
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用尖括号包起来, Markdown 就会自动把它转成链接。
语法:
<http://www.jianshu.com/u/8a3115bb299c>
<hello@qq.com>
效果:
http://www.jianshu.com/u/8a3115bb299c
hello@qq.com
图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
行内式
语法:![]()
示例:![荣耀](http://img3.a0bi.com/upload/ttq/20150406/1428301499455.jpg "荣耀")
效果:
详细叙述如下:
- 一个惊叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的title文字。
参考式
语法:![][]
示例:
![荣耀][pic]
[pic]: http://img3.a0bi.com/upload/ttq/20150406/1428301499455.jpg
效果:
![荣耀][pic]
[pic]: http://img3.a0bi.com/upload/ttq/20150406/1428301499455.jpg
[pic]是图片参考的名称,图片参考的定义方式则和链接参考一样
粗体与斜体
用两个*
或者_
包含一段文本就是粗体的语法,用一个 *
或者_
包含一段文本就是斜体的语法。
语法:
**我是粗体**
__我是粗体__
*我是斜体*
_我是斜体_
效果:
我是粗体
我是粗体
我是斜体
我是斜体
代码框
要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以
效果:
public static void main(String[] args) {
System.out.print("Hello World!");
}
也可以使用将代码文本包含起来 语法:
public static void main(String[] args) {
System.out.print("Hello World!");
}
```
效果:
public static void main(String[] args) {
System.out.print("Hello World!");
}
如果要标记一小段行内代码,你可以用反引号(`)把它包起来。
示例
这里有一个代码:`code`。
效果:
这里有一个代码:code
。
分割线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线,减号上方需空一行,否则将会是标题的效果:
语法:
*********
* * *
_______ ___
--------- -
效果:
反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,支持的符号包括以下这些:
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号