1
- # Markdown 语法完整使用笔记
1
+ Markdown 的目标是实现「易读易写」,成为一种适用于网络的书写语言。因此洛谷使用 Markdown 发布内容。
2
2
3
- 本文档按照 Markdown 各种常用语法类别,以 ** 文字描述+演示 ** 的方式来展现 Markdown 语法的使用。Markdown 的目标是实现「易读易写」,成为一种适用于网络的书写语言。HTML 是一种发布的格式,Markdown 是一种书写的格式,Markdown 的格式语法只涵盖纯文本可以涵盖的范围,Markdown 语法兼容 HTML 语法。
3
+ ** 请仔细阅读下列文档,如果没有按照要求正确使用格式,将可能无法发出讨论,或者被删除。 **
4
4
5
5
# 段落和换行
6
6
7
7
一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的** 空行** 。普通的 Markdown 段落不可以用空格或制表符来缩进。
8
+
8
9
> 空行:一行之内只包含回车换行、空格、制表符。
9
10
10
11
# 标题
11
- Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
12
12
13
- ## (1)类 Setext 形式
14
- 类 Setext 形式语法是使用用** 标题下底线** 的形式,包括 = (一级标题)和 - (二级标题),任何数量的 = 和 - 都可以有效果。
15
-
16
- ** 例如:**
17
-
18
- ``` markdown
19
- 一级标题下加=
20
- ==
21
- 二级标题下加-
22
- --------------------
23
- ```
24
-
25
- 显示的效果如下:
26
-
27
- 一级标题下加=
28
- ==
29
- 二级标题下加-
30
- --------------------
31
-
32
- ## (2)类 Atx 形式
33
- 类 Atx 形式则是在行首插入 1 到 6 个 # ,#和标题文字之间使用一个或多个空格,对应到标题 1 到 6 级。
13
+ Markdown 的标题是在行首插入 1 到 6 个 # ,#和标题文字之间使用一个或多个空格,对应到标题 1 到 6 级。
34
14
35
15
** 例如:**
36
16
@@ -46,8 +26,12 @@ Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
46
26
## 这是 H2
47
27
### 这是 H3
48
28
29
+ ** 不要全文使用标题,或者用标题强调特别多的文字。这会让读者觉得困扰。**
30
+
49
31
# 强调
32
+
50
33
Markdown 使用星号(\* )和底线(\_ )作为标记强调字词的符号,被 \* 或 \_ 包围的字词会被转成用 ` <em> ` 标签包围(即* 斜体* ),用两个 \* 或\_ 包起来的话,则会被转成 ` <strong> ` (即** 粗体** )。
34
+
51
35
** 例如:**
52
36
53
37
``` markdown
@@ -58,6 +42,8 @@ _单下划线斜体_
58
42
**双引号加粗**
59
43
60
44
__双下划线加粗__
45
+
46
+ ~~删除线~~
61
47
```
62
48
63
49
显示的效果如下:
@@ -70,9 +56,12 @@ _单下划线斜体_
70
56
71
57
__ 双下划线加粗__
72
58
59
+ ~~ 删除线~~
60
+
73
61
但是如果你的 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号。如果要在文字前后直接插入普通的星号或底线,你可以用反斜线(\)(参见下面的“反斜杠”部分)。
74
62
75
63
** 例如:**
64
+
76
65
``` markdown
77
66
\*使用反斜线开头的\*被当做是普通的字符\*
78
67
```
@@ -81,7 +70,34 @@ __双下划线加粗__
81
70
82
71
\* 使用反斜线开头的\* 被当做是普通的字符\*
83
72
73
+ # 代码块
74
+
75
+ ** 如果要发送代码,但没有按照下面的方式进行格式化,将不能发送成功。**
76
+
77
+ ## 大段代码
78
+
79
+ Markdown建立代码块的方法:将\`\`\` 置于这段代码的首行和末行,独立成一行。第一行的\`\`\` 后面可以加上语言名称,例如 cpp、java、c、pascal 等(不要写成 c++)。
80
+
81
+ ** 例如:**
82
+
83
+ \`\`\` cpp
84
+ \# include<iostream >
85
+ \`\`\`
86
+
87
+ 显示成
88
+
89
+ ``` cpp
90
+ #include < iostream>
91
+ ```
92
+
93
+ ## 小段代码
94
+
95
+ 需要引用代码时,如果引用的语句只有一段,不分行,可以用\` 将语句包起来。
96
+
97
+ 注:如果你真的要打\` 这个字符的话,可以仿照和\* 这个字符一样的处理方式,在\` 前加一个反斜杠。
98
+
84
99
# 区块引用
100
+
85
101
Markdown 标记区块引用的方法是在行的最前面加 > ,也可以只在整个段落的第一行最前面加上 >,区块引用内部可以嵌套,只要根据层次加上不同数量的 >即可,引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。
86
102
87
103
** 例如:**
@@ -122,8 +138,11 @@ Markdown 标记区块引用的方法是在行的最前面加 > ,也可以只
122
138
>> ```
123
139
124
140
# 列表
141
+
125
142
Markdown 支持有序列表和无序列表,无序列表使用星号、加号或是减号作为列表标记,有序列表则使用数字接着一个英文句点。两种列表方式格式都是:列表标记+ 空格+ 列表项,即列表项目标记通常是放在最左边,也可以缩进最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符。
143
+
126
144
## (1 )无序列表
145
+
127
146
星号、加号或是减号三种列表方式效果等同。
128
147
129
148
** 例如:**
@@ -149,6 +168,7 @@ Markdown 支持有序列表和无序列表,无序列表使用星号、加号
149
168
* Blue
150
169
151
170
## (2)有序列表
171
+
152
172
有序列表则使用数字接着一个英文句点。
153
173
154
174
** 例如:**
@@ -164,50 +184,6 @@ Markdown 支持有序列表和无序列表,无序列表使用星号、加号
164
184
2 . Green
165
185
3 . Blue
166
186
167
- # 代码块
168
- 同各种程序语言相关的写作或是标签语言原始码通常会有已经排版好的代码块,通常这些代码块我们并不希望它以一般段落的方式去排版,而是照原来的样子显示,Markdown 会用 ` <pre> ` 和` <code> ` 标签来把代码区块包起来。
169
- Markdown建立代码块的方法:只要在行最前面简单地缩进 4 个空格或是 1 个制表符就可以,一个代码区块会一直持续到没有缩进的那一行。
170
-
171
- 这是一个代码区块。
172
- 只要简单地缩进 4 个空格或是 1 个制表符就可以
173
- 一个代码区块会一直持续到没有缩进的那一行
174
- # 小段代码
175
- 需要引用代码时,如果引用的语句只有一段,不分行,可以用\` 将语句包起来。
176
-
177
- 如果引用的语句为多行,可以将\`\`\` 置于这段代码的首行和末行。
178
-
179
- ** 例如:**
180
- ``` cpp
181
- #include < iostream>
182
- ```
183
- 注:如果你真的要打\` 这个字符的话,可以仿照和\* 这个字符一样的处理方式,在\` 前加一个反斜杠。
184
-
185
- # 分隔线
186
- 可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他内容。也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
187
- ```
188
- * * *
189
-
190
- ***
191
-
192
- *****
193
-
194
- - - -
195
-
196
- ---------------------------------------
197
- ```
198
-
199
- 显示的效果如下:
200
-
201
- * * *
202
-
203
- ***
204
-
205
- *****
206
-
207
- - - -
208
-
209
- ---------------------------------------
210
-
211
187
# 链接
212
188
213
189
在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:
@@ -240,7 +216,7 @@ Markdown 使用一种和链接很相似的语法来标记图片
240
216
![ logo] ( https://cdn.class.luogu.com.cn/fe/logo-full.png?27925f707b34b1472e135b1a2dd848e5 )
241
217
242
218
# 自动链接
243
- Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来 , Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
219
+ Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用尖括号包起来 , Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
244
220
``` markdown
245
221
<https://www.luogu.org/>
246
222
```
@@ -249,6 +225,32 @@ Markdown 支持以比较简短的自动链接形式来处理网址和电子邮
249
225
250
226
< https://www.luogu.com/ >
251
227
228
+ # 分隔线
229
+ 可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他内容。也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
230
+ ```
231
+ * * *
232
+
233
+ ***
234
+
235
+ *****
236
+
237
+ - - -
238
+
239
+ ---------------------------------------
240
+ ```
241
+
242
+ 显示的效果如下:
243
+
244
+ * * *
245
+
246
+ ***
247
+
248
+ *****
249
+
250
+ - - -
251
+
252
+ ---------------------------------------
253
+
252
254
# 反斜杠
253
255
254
256
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用` <em> ` 标签),你可以在星号的前面加上反斜杠。
0 commit comments