--- layout: post # 使用的布局(不需要改) title: Markdown语法 # 标题 subtitle: Markdown笔记必备知识 #副标题 date: 2019-09-17 # 时间 author: Duter2016 # 作者 header-img: img/post-bg-dutzl.jpg #这篇文章标题背景图片 catalog: true # 是否归档 music-id: # 网易云音乐单曲嵌入 music-idfull: # 网易云音乐歌单嵌入 tags: #标签 - Markdown --- #Markdown语法 **目录:** **** [TOC] **** Markdown语法主要分为如下几大部分: **标题**,**段落**,**区块引用**,**代码区块**,**强调**,**列表**,**分割线**,**链接**,**图片**,**反斜杠 \\**,**符号'`'**。 ## 1.1 标题 两种形式: 1)使用`=`和`-`标记一级和二级标题。 > 一级标题 > `=========` > 二级标题 > `---------` 效果: > 一级标题 > ========= > 二级标题 > --------- 2)使用\#,可表示1-6级标题。 > \# 一级标题 > \## 二级标题 > \### 三级标题 > \#### 四级标题 > \##### 五级标题 > \###### 六级标题 效果: > # 一级标题 > ## 二级标题 > ### 三级标题 > #### 四级标题 > ##### 五级标题 > ###### 六级标题 ## 1.2 段落 段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用**两个以上**空格加上回车(引用中换行省略回车)。 ## 1.3 区块引用 在段落的每行或者只在第一行使用符号`>`,还可使用多个嵌套引用,如: > \> 区块引用 > \>> 嵌套引用 效果: > 区块引用 >> 嵌套引用 ## 1.4 代码区块 代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如 普通段落: void main() { printf("Hello, Markdown."); } 代码区块: void main() { printf("Hello, Markdown."); } **注意**:需要和普通段落之间存在空行。 ## 1.5 强调 在强调内容两侧分别加上`*`或者`_`,如: > \*斜体\*,\_斜体\_ > \*\*粗体\*\*,\_\_粗体\_\_ 效果: > *斜体*,_斜体_ > **粗体**,__粗体__ ## 1.6 列表 使用`·`、`+`、或`-`标记无序列表,如: > \-(+\*) 第一项 > \-(+\*) 第二项 > \- (+\*)第三项 **注意**:标记后面最少有一个_空格_或_制表符_。若不在引用区块中,必须和前方段落之间存在空行。 效果: > + 第一项 > + 第二项 > + 第三项 有序列表的标记方式是将上述的符号换成数字,并辅以`.`,如: > 1 . 第一项 > 2 . 第二项 > 3 . 第三项 效果: > 1. 第一项 > 2. 第二项 > 3. 第三项 ## 1.7 分割线 分割线最常使用就是三个或以上`*`,还可以使用`-`和`_`。 ## 1.8 链接 `[]`里写链接文字,`()`里写链接地址, `()`中的 `""` 中可以为链接指定title属性, title属性可加可不加。title属性的效果是鼠标悬停在链接上会出现指定的 title文字。`[链接文字](链接地址 "链接标题")` 这样的形式。链接地址与链接标题前有一个空格。 链接可以由两种形式生成:**行内式**和**参考式**。 ###行内式: `[younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown")` 效果: > [younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown") ##参考式: ``` [younghz的Markdown库1][1] [younghz的Markdown库2][2] [1]:https:://github.com/younghz/Markdown "Markdown" [2]:https:://github.com/younghz/Markdown "Markdown" ``` 效果: > [younghz的Markdown库1][1] > [younghz的Markdown库2][2] [1]: https:://github.com/younghz/Markdown "Markdown" [2]: https:://github.com/younghz/Markdown "Markdown" **注意**:上述的`[1]:https:://github.com/younghz/Markdown "Markdown"`不出现在区块中。 ### 自动链接 Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱, 只要是用 `<>` 包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样, 例如: ```markdown ``` > >
> > ## 1.9 图片 添加图片的形式和链接相似,只需在链接的基础上前方加一个`!`。 图片的创建方式与超链接相似, 而且和超链接一样也有两种写法, 行内式和参考式写法。 语法中图片Alt的意思是如果图片因为某些原因不能显示, 就用定义的图片Alt文字来代替图片。 图片Title则和链接中的Title一样, 表示鼠标悬停与图片上时出现的文字。 Alt 和 Title 都不是必须的, 可以省略, 但建议写上。 ### 图片行内式 `![图片Alt](图片地址 "图片Title")` ```markdown ![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg "哆啦A梦") ``` ![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg "哆啦A梦") ### 图片参考式 在文档要插入图片的地方写 `![图片Alt][标记]`。 在文档的最后写上 `[标记]:图片地址 "Title"`。 ```markdown ![哆啦A梦][duolaameng] [duolaameng]:https://cdoco.com/images/duolaameng.jpeg "哆啦A梦" ``` ![哆啦A梦][duolaameng] [duolaameng]:https://cdoco.com/images/duolaameng.jpeg "哆啦A梦" ## 1.10 反斜杠`\` 相当于**反转义**作用。使符号成为普通符号。但是在Retext中**反转义**不能对全部符号起作用,需要使用Tab键上面的“`”来实现。 ## 1.11 符号'`' 起到标记作用。如: >\`ctrl+a\` 效果: >`ctrl+a` ## 1.12 表格 列表的使用(非traditonal markdown): 用`|`表示表格纵向边界,表头和表内容用`-`隔开,并可用`:`进行对齐设置,两边都有`:`则表示居中,若不加`:`则默认左对齐。 **简单方式**: ```markdown 诗名|作者|朝代 -|-|- 白头吟|卓文君|两汉 锦瑟|李商隐|唐代 登科后|孟郊|唐代 ``` 效果: 诗名|作者|朝代 -|-|- 白头吟|卓文君|两汉 锦瑟|李商隐|唐代 登科后|孟郊|唐代 **原生方式**: ```markdown |诗名|作者|朝代| |-|-|-| |白头吟|卓文君|两汉| |锦瑟|李商隐|唐代| |登科后|孟郊|唐代| ``` 效果: |诗名|作者|朝代| |-|-|-| |白头吟|卓文君|两汉| |锦瑟|李商隐|唐代| |登科后|孟郊|唐代| **为表格第二列指定方向**: ```markdown 诗名|名句 -|-: 梦微之|君埋泉下泥销骨。 上邪|上邪,我欲与君相知,长命无绝衰。 ``` 效果: 诗名|名句 -|-: 梦微之|君埋泉下泥销骨。 上邪|上邪,我欲与君相知,长命无绝衰。 ## 1.13 删除线 ```markdown ~~花自飘零水自流~~ ``` 效果: >~~花自飘零水自流~~ ## 1.14 内容目录 在段落中填写 `[TOC]` 以显示全文内容的目录结构。 **** **注意**:不同的Markdown解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。 虽然有人想出面搞一个所谓的标准化的Markdown,[没想到还惹怒了健在的创始人John Gruber](http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/)。 **** 以上基本是所有traditonal markdown的语法。