目录
什么是Markdown?
Markdown 是一个 Web 上使用的文本到HTML的转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。
我的理解是,简单地看它就是一个“中介”,用一些约定好了的简单符号来代替HTML中相对繁琐的语法来表示一些格式(例如加粗、斜体、标题等)。
为什么要用Markdown?
使用这些格式,我们可以轻松地在专注写作的时候只拿出少部分的精力来实现一些排版。另外,我个人并不是因为受排版所累才寻求Markdown的帮助,毕竟此前我根本不在Web上写东西。我决定使用Markdown是因为它又酷又优雅,它引起了我在网上写东西的兴趣(当然,这不是唯一原因)。听起来有点本末倒置,可有时候事情就是这么发展的。
Markdown的语法并不多,但是有一些延伸版,例如GFM(GitHub Flavored Markdown)。不同的版本语法基本相同,但在渲染效果上略有不同。这里以MarkdownPad2的实现为例介绍基本的语法。在亲手码字介绍之前先贴一个中文的Markdown教程,这里介绍了Markdown最基础的语法(也就是不包括表格、栏状代码块、注脚、语法高亮等功能)。想要学习更多的语法则要参考其他版本Markdown的文档(以下全为英文):
- 标准Markdown语法指南(By Markdown的发明者John Gruber)
- Markdown扩展语法指南
- GFM语法指南(GitHub风格Markdown)
下文既没有给出示例也没有没有展示出Markdown的渲染效果,请自行寻找Markdown编辑器进行尝试。
标题
关键符号:# 或 = 或 -
基本语法(括号中的东西可加可不加,下同):
- 1~6个“#” + (空格) + 标题 + (空格) + (数个#)
- 标题下方添加至少一个“=”或“-”
#标题
## 标题
###标题###
#### 标题 #
标题
============
标题
-
注意事项
- #个数由少到多对应标题由大到小(一级标题到六级标题)
- “=”与“-”前不能有空格
- “=”与“-”分别对应一级标题和二级标题
- 关键符号之间不能有空格
引用
关键符号:>
基本语法:若干“>” + (空格) + 引用内容
>引用
>> 引用
> > >>引用
注意事项:
- 引用内容可以嵌套使用Markdown其他语法
- 引用层数取决于“>”个数
- “>”之间允许有空格
列表
关键符号:* 或 + 或 - 或 数字.
基本语法:“+” 或 “-” 或 “数字.”+ 至少一个空格 + 列表内容
* 列表
+ 列表
- 列表
1. 列表
注意事项:
- 列表内容可以嵌套使用Markdown其他语法
代码
关键符号:“Tab建(制表符)” 或 “四个空格” 以及 `
基本语法:
- 区块代码(整段代码):每一行“ ” + 代码
- 区段代码(段内代码):“`” + (若干空格) + 代码 + (若干空格) + “`”
//区块代码
#include<iostream>
using namespace std;
int main() {
cout<<"Hello World!";
}
//区段代码
这里是一段代码`abc`
这里也是一段代码`` ab`c ``
这里还是一段代码``` a`b`c ```
注意事项:
- 一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)
- 若区段代码中含有“`”,适当在两端对称地添加数个“`”直到达到效果
分割线
关键符号:* 或 -
基本语法:“*” + “*” + “*” 或“-” + “-” + “-”
***
* * *
--- ------ --
注意事项:
- 符号的数目随意,但至少三个
- 分割线此行的空格个数和位置随意(没有也行),但不可插入其他字符
- 注意在使用“-”时避免形成标题的语法
强调
关键符号:* 或 _
基本语法:
- 斜体:“*” + 内容 + “*” 或 “_” + 内容 + “_”
- 加粗:“**” + 内容 + “**” 或 “__” + 内容 + “__”
*斜体*
_斜体_
__加粗__
**加粗**
注意事项:
- 上述语法整体中,至允许内容内部出现空格
链接
关键符号:[ 和 ] 和 ( 和 )
基本语法:
- 行内式:“[” + 文本 +“]” + “(” + 相对路径或绝对路径 + “)”
- 参考式:
- “[” + 文本 +“]” + (空格) + (+ “[” + “]”),在文件任意不影响其他语句语法的位置标注:[文本]:(空格)路径
- “[” + 文本 +“]” + (空格) + “[” + 标签 + “]”,在文件任意不影响其他语句语法的位置标注:[标签]:(空格)路径
这里是[Google](http://Google.com "Google")的超链接
这里是[Yahoo][1A]的超链接
[1a]: http://Yahoo.com "Google"
这里是[baidu][]的超链接
[baidu]: https://www.baidu.com/ (baidu)
这里是[baidu]的超链接
[baidu]: https://www.baidu.com/ 'baidu'
注意事项:
- 想在鼠标接触超链接时显示预览文字,可在路径后+ 空格(必须) + 用双引号括起来的预览文字(若是参考式则还能用单引号或括号括起来)
- 没有提示的地方基本不能加空格
- 标签不区分大小写
图片
关键符号:! 和 [ 和 ] ( 和 )
基本语法:在链接语法前加“!”即可
注意事项:
- “!”与“[”之间不能有空格
- 其余注意事项与链接一致
简单表格
关键符号: | 和 - 和 :
基本语法:
//以3*3的表格为例
|1|2|3|
|-|-|-| //此行可以放在第一行;“-”的个数至少一个,但其间不能够有空格
|4|5|6|
注意事项:
- 每一行首尾的“|”可以省略
- 可以通过在“若干-”的前后添加“:”来控制对齐格式
- 形如“:---”,左对齐
- 形如“---:”,右对齐
- 形如“:---:”,居中
- “:”与“-”之间不能有空格
其他
- 若由于语法而无法在预览效果中显示关键符号,则在关键符号前加“\”
- Markdown的语法不是很严格,注意空格、回车以及各式字符在各处的添加对文本效果的影响