行内代码:用反引号包起来
在一段话里提到函数名、变量、命令时,用一对反引号 ` 把它包起来,就会渲染成等宽、带底色的行内代码:
用 `git status` 查看当前改动,函数 `render()` 负责渲染。
行内代码和周围文字有明显区分,读者一眼就能看出「这是一段代码」。建议在文档里提到任何命令、标识符时都用上。
代码块:三个反引号围起来
整段代码用三个反引号 ``` 上下一包,就是一个代码块,会保留缩进和换行:
```
function add(a, b) {
return a + b;
}
```
代码块里的内容会原样显示,不会被当成 Markdown 语法解析——这点很重要,意味着你可以在里面放心写 #、*、[] 这些符号。
语言标注:触发语法高亮
在开头的三个反引号后面写上语言名,渲染器就会给代码加上对应语言的语法高亮(关键字、字符串、注释用不同颜色):
```javascript
function greet(name) {
console.log("你好," + name);
}
```
常用的语言标注:js / javascript、python / py、html、css、json、bash / sh、rust / rs、sql、java、go 等等。
mdview 的语法高亮:mdview 支持代码块语法高亮,首次用到时按需下载约 120KB 的渲染库,之后离线也能用(v1.0.76 起)。不标语言也能显示代码,只是没有颜色。
当代码里有反引号:用更多反引号或波浪线
如果代码内容本身包含三个反引号(比如你要展示一段 Markdown 教程),用三个反引号围起来就会提前结束。解决办法有两个:
方法一:用四个(或更多)反引号当围栏,只要比内容里的反引号多就行:
````
围栏里可以放心写 ``` 三个反引号
````
方法二:用三个波浪线 ~~~ 当围栏,效果和反引号一样:
~~~
这里写 ``` 也不会冲突
~~~
行内代码也一样:如果内容里有一个反引号,就用两个反引号包起来;内容两端紧贴反引号时,加个空格再闭合。
缩进式代码块(了解即可)
除了围栏式,Markdown 还支持「缩进式」代码块:在行首缩进 4 个空格的段落会被当成代码。但这种写法不直观、也没法标语言,现在基本都被围栏式取代了。新文档建议统一用 ``` 围栏。
几个实用小习惯
- 总是标语言:哪怕只是示意,标上
bash、text也比不标强,高亮后可读性好得多; - 命令前别加
$:除非你要强调「这是终端输入」,否则直接写命令,方便读者复制; - 代码块前后留空行:紧贴正文有时会导致渲染异常,前后各空一行最稳妥。
速查小结
| 需求 | 怎么写 |
|---|---|
| 行内代码 | `代码` |
| 代码块 | ``` 上下一包 |
| 带语法高亮 | ```语言名 |
| 内容含 ``` | 用 ```` 或 ~~~ |
一句话:行内用单反引号,整段用三反引号围栏并标语言,遇到冲突就把围栏「加码」或换成波浪线。