Markdown简单语法

1.综述

Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

2.兼容html

markdown的语法目标是成为一种网络的书写语言。
markdown语法种类很少,只对应HTML语言的一小部分,不在markdown覆盖范围内的标签都可以直接在文档里面用HTML书写。不需要额外标准这是HTML还是Markdown。
需要注意的是HTML标签间的Markdown语法是不会被处理的。但是在Markdown语法之间的HTML语法是会被处理的。
###2.1特殊字符自动转化
在html中有两个需要特殊注意的字符<和&,如果要原样输出需要&lt;&amp;。但是在Markdown中直接原样输出即可。写成&lt;或者&amp;会和HTML中的一样效果。

3.区块元素

3.1标题

markdown支持两种形式的标题。
一种是利用=(第一阶标题)和-(第二阶标题),例如

这是第一阶标题
======
这是第二阶标题
------

任何数量的=-效果都一样,但是写=-所在行不能出现别的符号和文字

另外一种是在行收插入1到6个#,对应标题1到6阶,例如:

#这是一级标题
##这是二级标题
###这是三级标题

3.2区块标记

Markdown标记区块是使用>的方式,在每行的最前面加上>(最好动手试一下看结果)。
Markdown也允许你偷懒在每一个段落的第一行最前面加上>,允许换行,只要中间不插入空行,就算是一个区块的内容:

>我是一块内容我是一块内容我是一块内容我,是一块内容我是一块内容我是一块内容我是
一块内容我是一块内容

区块还可以嵌套,只要根据层次加上不同数量的>

>我能够嵌套我能够嵌套我能够嵌套我能够嵌套我能够嵌套我能够嵌套我能够嵌套
>我能够嵌套我能够嵌套我能够嵌套我能够嵌套我能够嵌套
>>我能够嵌套我能够嵌套我能够嵌套我能够嵌套
>我能够嵌套我能够嵌套我能够嵌套
>我能够嵌套我能够嵌套我能够嵌套

引用的区块内还可以使用其他的Markdown语法,包括标题、列表、代码块等:

> ## 这是一个标题。
>
> 1.   这是第一行列表项。
> 2.   这是第二行列表项。
>
> 给出一些例子代码:
>
>     return shell_exec("echo $input | $markdown_script");

3.3列表

Markdown 支持有序列表和无序列表。

无序列表使用星号、加号或是减号作为列表标记:

* aaa
* bbb
* ccc

等同于:

+ aaa
+ bbb
+ ccc

也等同于:

- aaa
- bbb
- ccc

有序列表则使用数字连着一个内容数字和内容之间要有空格隔开:

1. first
2. scond
3. third

重要的一点是你在有序列表里面改变行首的数字(不是第一行),不会影响输出结果。上面那个列表和下面这个列表等同:

1. first
3. second
9. third

所以在写有序列表的时候你只需要标记一下第一行的数字就行,后面的数字完全不用在意。
如果要在列表里面引用区块,为了美观最好缩进两个空格。

1. aaa
2. bbb
2. sdad
   > dasdasd

列表内容还能嵌入代码块,不过嵌入代码块要有一个空行,然后在首行缩进八个空格或者两个制表符(这得看你的编辑器设置的一个制表符等于几个空格)

1. 代码示例:

        return a+b

当然有时候写文档还会遇见这种写法:

1937. 中日战争爆发。

Markdown也会默认把它当成列表。换句话说只要行首出现数字+句点+空白,都会被Markdown识别为列表,为了避免这种情况,你可以在句点前面加上反斜杠:

1937\. 中日战争爆发

###3.4代码区块
写文档的时候有时候会有已经排班好的代码区块,通常我们不希望它以段落的形式去排版,而是显示原来的样子。
第一种方法是只要简单地缩进 4 个空格或是 1 个制表符就可以,代码快前面要有一个空行。一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。

这是一个普通段落:

    这是一个代码区块。

第二张方法就是成对出现'''(这个是数字1前面那个符号不是单引号):

'''
这是一个代码区块
'''

3.5分割线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:

* * *

***

*****

- - -
_ _ _
------------------------------------

3.6链接

Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。

不管是哪一种,链接文字都是用 [方括号] 来标记。

要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字(鼠标浮动到链接上显示的文字),只要在网址后面,用双引号把 title 文字包起来即可,例如:

这是[百度](http://www.baidu.com "百度")的链接

如果你是要链接到同样主机的资源,你可以使用相对路径:

See my [About](/about/) page for details.

参考式的链接是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记:

这是[百度][百度]的链接

接着,在文件的任意处,你可以把这个标记的链接内容定义出来:

[百度]:http://www.baidu.com

链接内容定义的形式为:

  • 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
  • 接着一个冒号
  • 接着链接的网址
  • 选择性地接着 title 内容,可以用单引号、双引号或是括弧包着
  • 前面必须要有一个空行

网址定义只有在产生链接的时候用到,并不会直接出现在文件之中。

链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写,因此下面两个链接是一样的:

[百度][a]
[百度][A]

隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字,要用隐式链接标记只要在链接文字后面加上一个空的方括号,如果你要让 "Google" 链接到 google.com,你可以简化成:

[google][]

然后定义链接内容:

[google]:http://google.com

3.7强调

Markdown使用*_作为标记强调字词的符号,被一个*或者_包围的字体会变成斜体,用两个包起来会变成加粗。用三个会变成加粗的斜体。再多就会原样输出。例如:

*a*
**a**
***a***
____a____

会变成
a
a
a
a
你可以随便用你喜欢的样式,唯一的限制是,你用什么符号开启标签,就要用什么符号结束。
你还可以在文字中间加强调:

我是一个粉刷匠,粉刷**能力强**

如果要在文字前后直接插入普通的星号或底线,你可以用反斜线:

\*我是一个粉刷匠,粉刷能力强\*

3.8图片

图片使用atom的Markdown-img-paste插件既可以截图粘贴插入了,Mac下面的粘贴是Ctrl+v,Windows下的粘贴图片是Ctrl+Shift+v.

标签: none

添加新评论