第 6 章 代码(行内与代码块、语法高亮)

本章覆盖:

语法 形式 说明
行内代码 `code` 单反引号
含反引号的行内代码 `` ` `` 双反引号包裹
缩进式代码块 行首 4 空格 CommonMark
围栏代码块 ``` 或 ~~~ CommonMark
带语言代码块 ```python GFM / CommonMark
代码高亮 Chroma / Prism 等 站点渲染时上色
转义反引号 ` 在代码块外用反斜杠 CommonMark

6.1 行内代码

源码:

函数 `print()` 输出到标准输出。

渲染效果:句中 print() 渲染为等宽字体。

6.2 含反引号的行内代码

用两个反引号包裹含单反引号的内容:

源码:

在终端输入 `` `echo $0` `` 查看当前 shell。

渲染效果:句中 echo $0 含反引号字符渲染为代码。

6.3 围栏代码块

源码(三反引号):

```
plain text
no syntax
```

源码(波浪号等价):

~~~
plain text
no syntax
~~~

渲染效果:代码块保留缩进与换行,无语法高亮。

6.4 带语言代码块

源码:

```python
def greet(name):
    return f"Hello, {name}!"

print(greet("Markdown"))
```

渲染效果:代码块按 Python 语法高亮上色。

常用语言标识:python go javascript bash json yaml html css sql rust java c cpp csharp markdown。

6.5 缩进式代码块

行首 4 个空格(或 1 个 Tab)即视为代码块:

源码:

    def hello():
        print("hi")

渲染效果:等价于无语言标识的代码块。

此写法易与列表嵌套混淆,推荐使用围栏代码块。

6.6 代码块中的代码块(嵌套反引号)

要展示包含三反引号的代码,外层用四反引号或波浪号:

源码:

````markdown
```python
print("nested")
```
````

渲染效果:外层代码块完整展示内层三反引号代码块。

6.7 代码块内的转义

代码块内无需转义任何字符:

源码:

```
*not italic*
**not bold**
<a href="x">link</a>
```

渲染效果:代码块内字符按字面显示,不渲染强调、不渲染 HTML。

6.8 行内代码中的转义

行内代码内亦无需转义反斜杠:

源码:

函数 `` `\n` `` 与 `` `\t` `` 是字面字符。

渲染效果:行内代码内反斜杠按字面显示。

6.9 语法高亮(Hugo / 主题层)

Hugo 使用 Chroma 高亮器,主题在 hugo.toml 中配置:

[markup.highlight]
  style = "base16-snazzy"
  lineNos = false

源码示例:

```go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Markdown!")
}
```

渲染效果:Go 代码块按 base16-snazzy 主题上色。

6.10 行号显示

部分实现支持 linenos 选项:

```python {linenos=true}
print("with line numbers")
```

渲染效果:代码块每行前显示行号。

6.11 高亮指定行

GFM / Hugo 等支持行高亮:

```python {linenos=true, hl_lines=[2,4]}
def add(a, b):
    return a + b     # 高亮此行

print(add(1, 2))     # 高亮此行
print("done")
```

渲染效果:第 2、4 行带高亮背景色。

6.12 综合实例

源码:

## 代码示例

调用 `print()` 函数:

```python
def greet(name):
    return f"Hello, {name}!"

print(greet("Markdown"))
```

含反引号行内:`` `cat` `` 命令。

四反引号嵌套:

````markdown
```python
print("nested")
```
````

渲染效果:标题、一段含行内代码的正文、Python 高亮代码块、含反引号行内代码、四反引号嵌套块。

6.13 小结

  • 行内代码用单反引号;含反引号用双反引号
  • 代码块用 ``` 或 ~~~ 围栏
  • 围栏后写语言名启用语法高亮
  • 嵌套代码块用更多反引号或波浪号
  • 代码块内字符无需转义

📊 本站总访问量 加载中… 次
投诉建议邮箱: [email protected]
免责声明:本站(铭新文库)内容为学习用途,编译整理自各编程语言官方文档(Go / Python / C / C++ / C#)与开源资料(Markdown),版权归原作者所有。本站力求内容准确,但不对内容的完整性、时效性做保证;如有歧义以官方英文文档为准。使用本站内容所产生的一切后果,本站不承担责任。如发现侵权或内容错误,请通过上方邮箱联系我们。