06 引用与代码¶
引用(Blockquote)¶
用 > 开头,表示「这段话是引用别人的」:
> 学而不思则罔,思而不学则殆。
学而不思则罔,思而不学则殆。
多行引用¶
每一行都要写 >,或者只在段首写一次、后续行空着也行(部分解析器要求每行都有):
> 第一行引用内容。
> 第二行还是同一段引用。
>
> 空一个 `>` 表示引用里换段。
第一行引用内容。 第二行还是同一段引用。
空一个
>表示引用里换段。
引用里嵌套其它元素¶
引用块里可以放列表、代码、标题,甚至嵌套引用:
> ## 提示
>
> - 第一点
> - 第二点
>
> > 这是嵌套引用
提示¶
- 第一点
- 第二点
这是嵌套引用
用途:写「注意事项」「官方原文」「对话记录」时特别合适。
行内代码¶
用反引号包起来(键盘左上角 Esc 下面那个键,.md 里是半角):
执行 `npm install` 安装依赖,配置文件在 `config.json`。
执行 npm install 安装依赖,配置文件在 config.json。
💡 行内代码还能把 Markdown 符号变成普通文字:写
`**不是粗体**`→**不是粗体**。想解释语法时超好用。
代码块(围栏式,推荐)¶
用三个反引号包起来,第一行后面写语言名(用于高亮):
```java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Minecraft!");
}
}
```
渲染:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Minecraft!");
}
}
常用语言标记¶
| 语言 | 标记 | 语言 | 标记 |
|---|---|---|---|
| Java | java |
JavaScript | js |
| Python | python |
Shell / 命令行 | bash |
| JSON | json |
YAML | yaml |
| HTML | html |
CSS | css |
| SQL | sql |
纯文本 | text |
不写语言名也能用,只是不会有语法高亮。做示意图/输出结果建议写 text。
代码块的另外几种写法¶
四种反引号包三种反引号(讲解 Markdown 语法时必须这么干,本教程到处在用):
````text
```java
System.out.println("内层代码块");
```
**缩进式代码块**(老写法,缩进 4 个空格,不推荐):
````text
这一行缩进了四个空格
会被渲染成代码块,但没有高亮
⚠️ 缩进式代码块容易和列表嵌套冲突,新文档一律用三反引号。
代码块里的中文 / 特殊符号¶
代码块里的内容原样输出,不会被解析:
```text
# 这一行不会被当成标题
**这一行不会被加粗**
```
常见坑¶
| 现象 | 原因 | 解决 |
|---|---|---|
| 代码块没结束,整篇都变代码 | 少了结尾三个反引号 | 检查闭合 |
| 行内代码渲染成整段代码 | 用了双反引号 | 行内用单个 ` |
| 反引号和中文挤在一起不生效 | 中文标点包裹 | 前后留个空格:`code` 中文 |
| 高亮语言写错 | 语言名拼错 | 查上面的表 |
| 代码里出现三个反引号 | 提前闭合 | 外层用四个反引号 |
引用 + 代码的组合用法¶
写「报错信息」时,把报错放进代码块、外面套引用:
> 服务启动报错:
>
> ```text
> Caused by: java.lang.NoSuchMethodError
> ```
服务启动报错:
Caused by: java.lang.NoSuchMethodError
本章练习¶
- 写一段引用,里面含一个列表。
- 写一个 Java 代码块(写个
main方法就行)。 - 用行内代码写出「这不是粗体」这句话本身。
下一章:表格与任务列表。