Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Last updated: Monday 07 September 2026 @ 20:44:27

mdbook-inline-highlighting 操作手册

mdbook-inline-highlighting 用于给 Markdown 行内代码增加与 fenced code block 相同的 highlight.js 语法高亮。

原仓库:https://github.com/phoenixr-codes/mdbook-inline-highlighting

快速使用

当前书库配置了:

[preprocessor.inline-highlighting]
default-language = "js"

因此最常用的是下面三种写法。

样例:显式指定语言

Python:[py] lambda x: x % 2 == 0

对应源码:

Python:`[py] lambda x: x % 2 == 0`

[py] 会覆盖当前默认的 JavaScript 高亮。

样例:使用默认语言

JavaScript:(x) => x % 2 == 0

对应源码:

JavaScript:`(x) => x % 2 == 0`

因为当前 default-language = "js",没有语言前缀的行内代码会按 JavaScript 高亮。

样例:明确禁用高亮

普通代码:[none] accumulate

对应源码:

普通代码:`[none] accumulate`

[none] 会覆盖默认语言,让这一段保持普通行内代码样式。

语言前缀语法

格式必须是:

[LANGUAGE] TEXT

例如:

`[rust] Vec<String>`
`[py] print("hello")`
`[js] const x = 1`
`[json] {"enabled": true}`
`[bash] mdbook build`

右方括号后必须有一个空格。

正确:

[py] lambda x: x + 1

错误:

[py]lambda x: x + 1

后者会触发 missing space after language identifier。

语言名称由 mdBook 当前使用的 highlight.js 支持范围决定;本插件与代码块使用同一套高亮器。

显示以 [ 开头的普通行内代码

如果行内代码本身以 [xxx] 开头,但这不是语言声明,需要在最前面加反斜杠转义。

例如,要显示 TOML 表名:

`\[preprocessor.katex]`

插件会去掉用于转义的反斜杠,并把 [preprocessor.katex] 当作普通文本,而不是语言标识。

行为速查

写法行为
`[py] x = 1`Python 高亮
`[rust] let x = 1;`Rust 高亮
`[none] foo`不高亮
`const x = 1`使用默认 JavaScript
`\[table.name]`显示以 [ 开头的普通内容

显式 [LANGUAGE] 始终优先于 default-language。

什么时候使用

适合函数、类型、短表达式、API 调用和一两行以内的代码。多行代码、完整脚本和配置文件仍应使用 fenced code block:

```rust
fn main() {
    println!("hello");
}
```

当前书库的推荐写法

  1. 需要准确着色时显式写 [rust]、[py]、[bash] 等语言;
  2. JavaScript 可直接使用默认语言;
  3. 不希望着色时写 [none];
  4. 内容本身以 [xxx] 开头时使用反斜杠转义。