Markdown 简介
!(https://file.mculoop.com/images/2022/11/banner_1668586851.png)
## 什么是 Markdown
Markdown 是一种有着纯文本格式化语法的轻量级的标记语言,可以方便地转为 HTML 和其他格式。它是由 John Gruber 在 2004 年创建的。它的目标是让人们使用易读、易写的纯文本格式去写作,将排版、美化等工作交给软件去做。这种专注于写作内容而不是排版的理念,使它在程序员、文字工作者的圈子里火了起来。
<!--more-->
## 为什么是 Markdown
+ **纯文本**
这是我比较看好的地方,如果使用 Word 这类格式写文档,文档的格式是二进制的,在比较版本间的差异时就比较难做了。
+ **轻标记**
如果直接使用 HTML 标记语言来写文档,先不说难易度,仅仅是大量标签与内容混合呈现的效果,读起来就会让人觉得如鲠在喉。
+ **专注于写作内容而不是排版的理念**
## 语法
1. 段落
开始一个新的段落,只需创建一个以上的空行。
2. 标题
Markdown 支持 `6` 级标题,标记语法为:
```
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
```
格式化效果:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
3. 列表
使用 `*`、`+`、`-` 三种符号来表示无序列表,使用数字加点号来表示有序列表:
无序列表标记语法:
```
* 苹果
+ 橘子
- 香蕉
```
格式化效果:
* 苹果
+ 橘子
- 香蕉
有序列表标记语法:
```
1. 苹果
2. 橘子
3. 香蕉
```
格式化效果:
1. 苹果
2. 橘子
3. 香蕉
列表中也许要包含多个段落、列表、代码块等,可以通过将他们缩进来实现。
4. 代码块
文中插入代码对于程序员来说是司空见惯的,怎么实现呢?
行内代码块语法:
```
`code`
```
格式化效果:
`code`
代码段语法:
```
```language
code...
```
```
格式化效果:
```c
/**
* 求字符串的长度
* @paramstr 待处理字符串指针
* @return 字符串长度
*/
int mstrlen(const char *str)
{
const char *start;
start = str;
while(*str != '')
{
str++;
}
return str - start;
}
```
5. 引用
如果需要引用一段别处的文字,那么就要用到引用。
标记语法:
```
> 引用内容
>> 二级引用
>>> 三级引用
```
格式化效果:
> 引用内容
>> 二级引用
>>> 三级引用
6. 表格
表格稍微麻烦些,标记语法实例如下:
```
|column1|column2|column3|
|:-|:-:|-:|
|row1|苹果|100|
|row2|橘子|200|
|row3|香蕉|300|
```
格式化效果(若显示不正常,说明本站还没有支持):
|column1|column2|column3|
|:-|:-:|-:|
|row1|苹果|100|
|row2|橘子|200|
|row3|香蕉|300|
可以总结为:
- 第一行为表头;
- 第二行是对齐控制,横线至少一个,横线两侧都有冒号表示居中显示;
- 其他行为内容行。
7. 链接
链接有三种方式:行内式、参考式、自动式。行内式和参考式链接文字都是用 `[链接文字]`来标记。
行内式标记语法:
```
This is an (https://www.mculoop.com/ "Title").
```
链接的标题可以不要,格式化效果:
This is an (https://www.mculoop.com/ "Title").
参考式标记语法:
```
This is reference-style link.
//...
//内容底部
: https://www.mculoop.com/"Optional Title Here"
```
格式化效果:
This is reference-style link.
自动式标记语法:
```
<https://www.mculoop.com/>
```
格式化效果:
<https://www.mculoop.com/>
8. 图片
图片的语法与链接的语法是非常相似的,不同之处是在最前边加上感叹号`!`。
例如:
```
![不能显示时的替代文字](/path/to/img "可选标题")
```
或:
```
![不能显示时的替代文字]
//...
//内容底部
: url/to/image"可选标题"
```
格式化效果:
![不能显示时的替代文字](https://file.mculoop.com/images/2022/11/4d45e803597a22f5851717d2777c595a_1668586836.jpg "图片实例")
9. 粗体与斜体字
粗体标记语法:
```
**粗体字内容**
```
斜体标记语法:
```
*斜体字内容*
```
除了星号 `*` 也可以使用下划线 `_`。文字内容两侧不加空格。
10. 脚注
标记语法:
```
text[^id]
[^id]:脚注内容
```
格式化效果(若显示不正常,说明本站还没有支持):
待注释文字[^2]
11. 水平分割线
在一行中使用三个以上的星号、减号或下划线可标记一个水平分隔线,标记语法:
```
***
---
___
```
格式化效果:
***
---
___
12. 转义符
当标记符与现实内容发生矛盾的时候,不妨试试转义符 `\` 。
13. HTML标记
Markdown 对 HTML 标记的支持,使得它更为强大,但应当尽量少使用,不然就失去 Markdown 存在的意义了。
## 编辑器
1. 在线编辑器
为知笔记 <http://www.wiz.cn> (有客户端可离线使用)
有道笔记 <http://note.youdao.com> (有客户端可离线使用)
StackEdit <https://stackedit.io>
马克飞象 <https://maxiang.io>
2. 离线编辑器
Sublime + Markdown Editing + Markdown Preview
Typora
Ulysses
: https://www.mculoop.com/ "Optional Title Here"
[^2]: 脚注内容
页:
[1]