1. Markdown
Markdown是一种标记语言,使用标记语法,让普通文本有一定的格式
2. Markdown的优点
- 专注内容而不用过于在意排版问题
- 可以轻松导出HTML、PDF和.md文件
- 纯文本兼容所有编辑器和字处理器
- 随时修改文章版本
- 可读、直观、学习成本低
3. 常用语法
3.1 段落与换行
段落之间使用一个以上的空行表示。
例:
段落1
段落2
根据不同的编辑器不隔空行换行会有不同的解释,一些会将其解释为换行,而另一些可能会解释为插
入一个空格,对于这种编辑器换行,只需在行尾添加两个空格即可
3.2 粗体和斜体
使用*和_可以指定粗体或者斜体字样
使用*和_包住字词变为斜体
使用**和__包住字词变为粗体
需要注意的是使用什么符号开启标签就要用什么符号结束
例:
*斜体*
**粗体**
_斜体_
__粗体__
*相同符号开启结束_*
在段落*中间*插入符号
_**粗斜体**_
插入*星号
结果:
斜体
粗体
斜体
粗体
相同符号开启结束_
在段落 中间 插入符号
粗斜体
插入*星号
3.3 标题
Markdown支持1~6级标题,由首行#的个数来决定标题级,其中1级标题可以在下一行加=来表现,2级
标题则通过在下一行加-来表现。
例:
# 一级标题
一级标题
\=
## 二级标题
二级标题
-
### 三级标题
###### 最小的六级标题
结果:
一级标题
一级标题
二级标题
二级标题
三级标题
最小的六级标题
3.4 引用
在首行插入>作为引用,引用可以嵌套,也可以插入Markdown的其他语法
例:
> 单个引用
>> > 嵌套引用
> *引用中插入其他语法*
结果:
单个引用
嵌套引用
引用中插入其他语法
3.5 有序和无序列表
3.5.1 无序列表
使用*、+、-作为列表标记
例:
* 无序1
+ 无序2
- 无序3
结果:
- 无序1
- 无序2
- 无序3
3.5.2 有序列表
使用一个数字后面接英文句号表示,建议有序列表第一个项目从1开始写起,避免支持start顺序的平台
例:
\1. 独
\3. 双
\3. 三
结果:
独
双
三
如果要避免开始的数字被变为有序序列数字,则需要在句号前加上反斜杠:
例:
0591\. 福州座机区号
结果:
0591. 福州座机区号
3.6 表格
原生MD没有此功能,但是衍生的编辑器基本都具备这些功能,其中
|—| 默认方式对齐
|:—| 左对齐
|:—:| 居中对齐
|—:| 右对齐
制作表格例:
|名字|编号|年龄|身高|
|—|:—|:—:|—:|
|赵|01|21|170|
|钱|02|22|170|
制作表格结果:
名字 | 编号 | 年龄 | 身高 |
---|---|---|---|
赵 | 01 | 21 | 170 |
钱 | 02 | 22 | 170 |
3.7 行内代码段和代码区域
3.7.1 行内代码段
单行的代码在代码首尾添加一个`
例:
单行代码实例`printf(“HelloWorld”)`
结果:
printf("HelloWorld")
3.7.2 代码区域
代码区域块的标记分为两种,其一使用首行缩进四个空格即一个制表符,代码区域会持续到没有缩进的一行
亦或者使用“`或者~~~在代码区域首位包裹作用
例:
四个空格public function example():void
四个空格{
四个空格trace(“这是一个多行代码块的示例”);
四个空格}
结果:
public function example():void
{
trace("这是一个多行代码块的示例");
}
或者
例:
“`
public function example():void
{
trace(“这是一个多行代码块的示例”);
}
“`
结果:
public function example():void
{
trace("这是一个多行代码块的示例");
}
3.8 分割线
在一行中使用三个以上的*、-、_来表示分割线,其中这一行除了空格不能插入其他东西
例:
***
* * *
___
—
结果:
以上四种都能产生分割线
3.9 链接
MD有行内式和参考式两种链接方式,都需要使用平[]
3.9.1 行内式
在方括号后紧跟圆括号并写入网址,如果需要title文字则用双引号包裹起来即可
例:
链接[百度](https://www.baidu.com/ “这是title”)示例
结果:
链接百度示例
3.9.2 参考式
同样是一个方括号,但是后面紧跟着另一个方括号用辨识链接标记。然后在文件任意位置定义链接标记内容
例:
参考式[百度链接][link1]示例
[link1]:https://www.baidu.com/ “这是title文字”
结果:
参考式百度链接示例
3.9.3 隐式链接标记功能
隐式链接标记功能可以让你省略指定链接标记,这种情况下,链接标记会等同于链接文字,要用隐式
链接标记只需要在链接文字后面加上一个空的方括号即可。
例:
这是一个链接到[百度][] 的例子。
[百度]: https://www.baidu.com/ “title”
结果:
这是一个链接到百度 的例子。
3.10 插入图片
插入图片同样具有行内式和参考式
3.10.1 行内式
![代替文字](图片链接 “选择性的添加title文字”)
例:
![这是一张图片](http://i1.piimg.com/567571/7d83a354ce3ed2a6.png “title文字”)
结果:
3.10.2 参考式
![代替文字][id]
[id]: 链接地址 “title”
例:
![这是一张图片]img
结果:
3.11 脚注
添加脚注,只需在想要添加的文本背后插入1,之后在文件任意位置写出脚注内容
注意:标注的Markdown中没有脚注,各个平台扩展的定义可能有所不同。
例:
需要添加脚注的文字\2
\3: 这是一个脚注
结果:
需要添加脚注的文字4
3.12 转义
MD支持在以下字符面前插入反斜杠,插入之后不在解析这些字符原样输出
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
3.13内联HTML
MD虽然简洁但是局限,因此保留了内联HTML的方式。标签中的星号等作为markdown结构的符号,
以及构成html标签和实体的符号,都不会做任何转义。
例:
<font color="blue">颜色</font>文字示例
结果:
颜色文字示例
额外概况补充:
MD基础语法使用到的符号基本上只有:*、-、+、[]、()、`、\~、|、>、\”“、
\=、\^、!等等语法学习难度不高,熟练掌握后基本可以融会贯通的使用MD
对于MD编写文档的时候,该使用空格、空行的时候就应该使用,不要所有的文本都挤在一起
对于代码块而言,应该合理的标识进而区分代码块的辨识度
在写MD文档是应该事项对整篇文档的架构有一定的认知,对文档的架构分类能够有很大的帮助