Markdown的目标是成为一种适用于网络的书写语言,让文档更容易读、写和随意改。让用户可以自然的书写字符,表达思想。
需要注意的是,大部分Markdown语法是相通的,少部分差别很大。特别是画流程图,UML图,差别巨大。这个介绍三种方法,适用于有道云笔记Markdown文档,CSDN里Markdown文本和GitHub里Markdown文档。
不论如何变化,Markdown只是一种记录思想的工具,会用,能用就行。不要过度研究,除非特别感兴趣原理
标题
Markdown的标题语法用#来代表
格式为:
# H1 ## H2 ### H3
效果为:
# H1
## H2
### H3
等等至6级标题
区块引用
格式为 > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. > > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse > id sem consectetuer libero luctus adipiscing.
效果为
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
PS:Markdown允许区块引用的时候在段落第一行加上">",并且支持嵌套。
同时,引用的区块里可以使用其他Markdown语法,eg.
这是一个标题。
- 这是第一行列表项。
- 这是第二行列表项。
给出一些例子代码:
return shell_exec("echo $input | $markdown_script");
列表
Markdown支持有序列表和无序列表,有序列表使用数字跟着一个英文句点“1.”无序列表使用“*”,“+”,“-”(PS:三者同样效果,都可以作为列表标记)举例。
> 1. Bird > 2. McHale > 3. Parish > * Bird > + McHale > - Parish
效果为
- Bird
- McHale
- Parish
- Bird
- McHale
- Parish
PS:列表可以形成多层级列表,只需要在次级列表前加制表符即可
* 衣服 * 大衣 * 加厚 * 加绒 * 裤子 * 牛仔裤 * 西裤 * 鞋子
- 衣服
- 大衣
- 加厚
- 加绒
- 大衣
- 裤子
- 牛仔裤
- 西裤
- 鞋子
代码区块
只需要在代码前面锁紧一个制表符或者四个空格即可。
这是普通段落
这是代码区块
Here is an example of AppleScript:
tell application "Foo"
beep
end tell
PS:在代码区块中,只需要把原始代码复制粘贴过来,再加上缩进即可。
分隔线
在一行中使用三个及三个以上的星号、减号、底线来建立分割线。
*** * * * ********** --- _______
显示效果是一样的
区段元素
链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。不管是哪一种,链接文字都是用 [方括号] 来标记。
这个距离参考式,格式如下:
I get 10 times more traffic from [Google] [1] than from [Yahoo] [2] or [MSN] [3]. [1]: http://google.com/ "Google" [2]: http://search.yahoo.com/ "Yahoo Search" [3]: http://search.msn.com/ "MSN Search" This is [an example](http://example.com/ "Title") inline link.
形成的效果是:
I get 10 times more traffic from [Google] 1 than from
[Yahoo] 2 or [MSN] 3.
This is an example inline link.
强调
Markdown使用*和_作为强调字词的符号,一个符号会转化成<em>,两个符号会转化成一个符号会转化成<strong>
格式如下:
*single asterisks* _single underscores_ **double asterisks** __double underscores__
形成的效果如下:
single asterisks
single underscores
double asterisks
double underscores
补充
文字倾斜,文字加粗,文字加粗倾斜,文字删除线,文字上标与文字下标
格式分别为
*斜体文字* **加粗文字** ***粗斜体*** ~~删除线文字~~ 下标:H<sub>2</sub>O 上标:n<sup>2</sup>
效果如下:
斜体文字
加粗文字
粗斜体
删除线文字
下标:H2O
上标:n2
代码
标记一小段行内代码,可以用反引号把它包起来(`)。
Use the `printf()` function.
效果如下:
Use the printf()
function.
标记代码块
``` Use the `printf()` function. Use the `printf()` function. Use the `printf()` function. ```
效果如下:
Use the `printf()` function.
Use the `printf()` function.
Use the `printf()` function.
图片
标记图片同样使用两种样式:行内式和参考式。
行内式语法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5kGpLyhH-1583329327728)(/path/to/img.jpg)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mI03VTb5-1583329327733)(/path/to/img.jpg "Optional title")]
方括号里是图片的替换文字,普通括号里放图片的网址,引号里放选择性的‘title’文字
参考式语法
![Alt text][id] [id]: url/to/image "Optional title attribute"
id是图片参考的名称,定义方式和链接的参考式一致。
表格
语法格式如下
| 一个普通标题 | 一个普通标题 | 一个普通标题 | | ------ | ------ | ------ | | 短文本 | 中等文本 | 稍微长一点的文本 | | 稍微长一点的文本 | 短文本 | 中等文本 |
效果如下:
一个普通标题 | 一个普通标题 | 一个普通标题 |
---|---|---|
短文本 | 中等文本 | 稍微长一点的文本 |
稍微长一点的文本 | 短文本 | 中等文本 |
| 左对齐标题 | 右对齐标题 | 居中对齐标题 | | :------| ------: | :------: | | 短文本 | 中等文本 | 稍微长一点的文本 | | 稍微长一点的文本 | 短文本 | 中等文本 |
效果如下:
左对齐标题 | 右对齐标题 | 居中对齐标题 |
---|---|---|
短文本 | 中等文本 | 稍微长一点的文本 |
稍微长一点的文本 | 短文本 | 中等文本 |
特殊字符
显示结果 | 描述 | 实体名称 |
---|---|---|
空格 | | |
< | 小于号 | < |
> | 大于号 | > |
& | 和号 | & |
" | 引号 | " |
± | 正负号 | ± |
× | 乘号 | × |
÷ | 除号 | ÷ |
流程图
在Markdown当中使用反引号(`)来画流程图,语法分为
graph TB/BT/RL/LR
TB - top bottom(自上而下)
BT - bottom top(自下而上)
RL - right left(自右而左)
LR - left right(自左而右)
TD - same as TB
这里需要注意不同编译器表达流程图的区别
在有道云笔记里的格式为
``` code ```
CSDN里的格式为
```mermaid code ```
GitHub的Markdown比较特殊,上面的方法都不行,我在另一位博主那里发现了一个很棒的方法,这里引用一下
https://www.cnblogs.com/zuizui2015/articles/4975559.html
使用的是网络服务生成需要的流程图
举例:
``` graph TB A --> B ```
``` graph BT A --> B ```
``` graph LR A --> B ```
``` graph RL A --> B ```
``` graph LR A --> B A --> C C --> D B --> D ```
节点与形状
下面依次是文本节点,圆角节点,圆节点,非对称节点,菱形节点。
文本节点: A[Christmas]
圆角节点: A(Christmas)
圆节点: A((Christmas))
非对称节点: A>Christmas]
菱形节点: A{Christmas}
连接线
连接线有箭头型,开放型,虚线箭头,虚线,粗实线箭头,粗实线,以及加标签。
箭头型连接:A --> B 加标签:C -->|text| D
开放型连接:A --- B 加标签:C ---|text| D
虚线箭头型连接:A -.-> B 加标签:C -.->|text| D
虚线型连接:A -.- B 加标签:C -.-|text| D
粗实线箭头型连接:A ==> B 加标签:C ==>|text| D
粗实线型连接:A === B 加标签:C ===|text| D
``` graph TD A[Christmas]-->B(Go shopping) B-->C{let me think} C-->|one| D[laptop] C-->|two| E[iphone] C--> F[Car] ```
其他
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线 ` 反引号 * 星号 _ 底线 {} 花括号 [] 方括号 () 括弧 # 井字号 + 加号 - 减号 . 英文句点 ! 惊叹号
补充
在Markdown中,换行有两种方式,一种是按两下空格再按回车,另外一种是加标签<br>.