Markdown 的九个实用语法
Kaffa 发布于 最后修改
Markdown 标记语言的语法是由它的创始人 John Gruber 与 Aaron Swartz 共同设计的。
一、标题
标题的代码以#
开头,
### H3标题
#### H4标题
##### H5标题
以下是示例:
H3标题
H4标题
H5标题
二、文本样式
这是强调,HTML是<em>强调</em>
这是加粗,HTML是<strong>加粗</strong>
文本的代码以以*
或者**
,必须成对出现
这是*强调*,HTML是`<em>强调</em>`
这是**加粗**,HTML是`<strong>加粗</strong>`
三、段落
段落是由空行分割的文字,实际上 md 文件的很多区块都需要换行。
这是另一个段落P。
如果希望两段靠在一起。
需要段末尾加入两个空格。
这样就会换行,HTML中间会有<br>
代码:
段落是由空行分割的文字。
这是另一个段落。
如果希望两段靠在一起。
需要段末尾加入两个空格。这里有两个空格->
这样就会换行,HTML中间会有`<br>`
四、术语表和列表
md文件中没有rst文件的术语表,只有有序列表、无序列表
有序列表
- 有序列表项1
- 有序列表项2
- 有序列表项3
无序列表
- 无序列表项1
- 无序列表项2
- 无序列表项3
有序列表代码如下:
1. 有序列表项1
2. 有序列表项2
3. 有序列表项3
无序列表代码如下:
* 无序列表项1
* 无序列表项2
* 无序列表项3
如果希望列表嵌套,那么下级列表要换行,且向内缩进,但无法实现有序编号
-
列表1
-
列表1.1
-
列表1.1.1
-
列表1.1.2
-
-
列表1.2
-
-
列表2
代码如下
1. 列表1
1. 列表1.1
1. 列表1.1.1
1. 列表1.1.2
1. 列表1.2
1. 列表2
五、代码
代码块需整体缩进四个空格。
#lang racket ; 声明用 Racket 语言
(define calc
(lambda (exp)
(match exp ; 分支匹配:表达式的两种情况
[(? number? x) x] ; 是数字,直接返回
[`(,op ,e1 ,e2) ; 匹配提取操作符op和两个操作数e1,e2
(let ([v1 (calc e1)] ; 递归调用 calc 自己,得到 e1 的值
[v2 (calc e2)]) ; 递归调用 calc 自己,得到 e2 的值
(match op ; 分支匹配:操作符 op 的 4 种情况
['+ (+ v1 v2)] ; 如果是加号,输出结果为 (+ v1 v2)
['- (- v1 v2)] ; 如果是减号,乘号,除号,相似的处理
['* (* v1 v2)]
['/ (/ v1 v2)]))])))
六、表格
表格属于 Markdown 语法中的扩展语法,扩展语法有很多实现,有些不够统一
Name | Who |
---|---|
Python | Guido |
Go | RRK |
代码如下,为了美观前后可以加上 |
线:
Name | Who
------- | -------
Python | Guido
Go | RRK
或
| Name | Who |
| ------- | -------- |
| Python | Guido |
| Go | RRK |
七、注释
<!-- 这是一条注释,在HTML中将会存在 -->
实际上,Markdown语法描述中没有说明如何写注释,但 md 文件中原生支持插入 HTML 代码。
八、超链接
代码:
[markdown cheat-sheet](https://www.markdownguide.org/cheat-sheet/)
或者,另一种更优的写法:
即先在文中任何地方(建议末尾)写上:
[7]: https://www.markdowntutorial.com/
文中即可用下列代码引用:
[Markdown Tutorial][7]
九、图片
图片的代码:
![请喝咖啡](https://kaffa.im/static/img/reward.png)
效果如下。
感谢阅读!