什么是Markdown?
Markdwon 是一种轻量级标记语言,由Aaron Swartz和John Gruber共同设计。它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTLM格式发布。Markdown也可以理解为将以Markdown语法编写的语言转换成HTML内容的工具。
Aaron Swartz的传奇一生
- 14岁参与RSS 1.0规格标准制订。
- 2004年入读斯坦福大学,之后退学。
- 2005年创建 Infogami,之后与Reddit合并成为其合伙人。
- 2010年创立示进会(Demand Preogress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案被撤回。
- 2011年7月19日,因被控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕。
- 2013年1月自杀身亡。
Tips
注意:Markdown使用 # + * > _ 等符号来标记,符号后面必须跟上至少1个空格才会被语法识别。
Markdown语法
标题
Markdown的标题用’# ‘标记
在想要作为标题的文字开头加上1~6个#,依次表示一级到六级标题
举例:
# 一级标题
## 二级标题
### 三级标题
为了避免文字TOC出现混乱,本例不做输出演示。
换行
在行尾添加两个空格(spacebar)加一个回车(enter)表示换行:
列表
列表分为 无序列表 和 有序列表
无序列表
用 - + * 作为打头标记
举例:
+ 项目1
+ 项目2
+ 项目3
输出:
- 项目1
- 项目2
- 项目3
有序列表
有序列表则使用数字加英文句点.来表示
举例:
1. 第一项
2. 第二项
3. 第三项
输出:
- 第一项
- 第二项
- 第三项
引用
引用以 > 来表示,引用中又支持多级引用、标题、列表、代码块、分割线等常规语法。(也就是说:引用里面可以加标题,列表,嵌套引用等等。)
举例:
> 引用自百度文库
>> 引用自网易云音乐
输出:
引用自百度文库
引用自网易云音乐
文字样式(字体)
*斜体文本*
**加粗文本**
*斜粗体文本*
\删除文本
` 底纹 `
< sub>下标文字< /sub>
< sup>上标文字< /sup>
< u>下划线文本< /u>
输出:
斜体文本
加粗文本
斜粗体文本
删除文本
底纹
下标文字 正常文字
上标文字 正常文字
下划线文本
图片与链接
链接
链接的形式: 内联 和 引用。这两种形式下链接文本的定界符都是 [中括号].
要创建内联链接, 只需在链接文本的右括号后面紧接一对圆括号. 圆括号里面放所需的 URL 链接, 还可以放一个 可选 的链接标题, 标题要用引号包围.
自动链接:直接使用\< >括起来 <yourlink.xyz>
链接: [ ]( ) [链接描述](链接的地址)
举例:
This is [an example](http://example.com/ “Title”) inline link.
This is an example \http://example.com
输出:
This is an example inline link.
This is an example http://example.com
图片
Markdown 使用了类似链接的语法来插入图片
在链接的语法前面加一个感叹号: !
也就是:
图片:![Alt text] (/path/to/img.jpg “Optional title”)
由于没有本地路径,此例子不做举例输出演示。
代码和代码块
代码行
引用的代码只有一行,可以用 ` 号将语句包起来。
举例:
`cout << “Hello world” //this is an example of C++ outputing hello word`
输出:
cout << "Hello world" //this is an example of C++ outputing hello word
代码块(段)
用一对\1
2
3
4
5
6
7格式如下:
\``` [语言]
这里是代码
\
举例:
``` C++
#include
int main()
{
using namespace std;
int x = 1;
x = x++; //x = x + 1
cout << x;
return 0;
}
```
输出:
1 |
|
分割线
在一行中使用三个或三个以上的 * 可以添加分隔线,中间可以插入空格,但是不能有其他字符。
举例:
***
输出:
高级应用
表格
表格用竖线|分割不同列,用以下标记设置对齐方式 (ATTENTION!必须) :
居左:—- 居中:—-: 居右—-:
举例:
|标题1|标题2|标题3|
|:—|:—:|—:|
|居左文本|居中文本|居右文本|
输出:
标题1 标题2 标题3 居左文本 居中文本 居右文本
脚注
使用[^number ]来定义脚注
举例:
这是一个脚注的例子[^ 1]
[^1 ]: 这里是脚注
输出:
这是一个脚注的例子[^1]
常用弥补Markdown的Html标签
字体大小和颜色
\< font face=”微软雅黑” color=”red” size=”6”>字体及字体颜色和大小
\< /font>
\< font color=”#0000ff”>字体颜色</ font>
字体颜色
文本对齐方式
< p align=”left”>居左文本< /p>
< p align=”center”>居中文本< /p>
< p align=”right”>居右文本< /p>
居左文本
居中文本
居右文本
任务列表
任务列表支持Markdown的字体格式,支持链接,支持有序和无序列表。
用- [ ]表示未完成
用- [x]表示完成
举例:
- [ ] links, formatting, and tags supported
- [x] list syntax required (any unordered or ordered list supported)
- [ ] this is a complete item
- [x] this is an incomplete item
输出:
- links, formatting, and
tagssupported- list syntax required (any unordered or ordered list supported)
- this is a complete item
- this is an incomplete item
转义字符
转义字符就是想显示出Markdown语法内的标记字符,比如* _ - + 等。
这篇教程在举例部分,为了显示语法就用了很多转义字符。
转义字符用 \ 作为符号的前缀
在Visual Studio Code中编辑Markdown
在扩展中心(ctrl+shift+x)安装Markdown all in one插件就能很方便的编辑和预览Markdown文件。
快捷键如下:
Key | Command |
---|---|
Ctrl + B | 加粗 |
Ctrl + I | 斜体 |
Alt + S | 删除线 |
Ctrl + Shift + ] | 标题 从一级到六级递增 |
Ctrl + Shift + [ | 标题 从当前级到一级递减 |
Ctrl + M | 数学公式环境 |
Alt + C | Check/Uncheck task list item |
Ctrl + Shift + V | Markdown预览 |
Ctrl + K V | Toggle preview to side |
参考文档
本教程参考的文档如下:
https://markdown-zh.readthedocs.io/en/latest/
http://www.cycygogo.cn/2017/12/05/Markdown-Syntax/
https://www.jianshu.com/p/ccfd81fe77d2
后记
此Markdown教程尽可能简单的讲解了Markdown的语法,在字体及列表中,除了*
仍有很多其他标识符可以使用。本文只介绍了其中一种。
除了入门Markdown,本文也可留作日后语法备查。