语法高亮
mdBook 使用具有自定义主题的 Highlight.js 来突出显示语法。
自动语言检测已关闭,因此您可能希望像这样指定您使用的编程语言:
```rust
fn main() {
// Some code
}
```
支持的语言
默认情况下支持这些语言,但您可以通过提供自己的 highlight.js
文件来添加更多语言:
- apache
- armasm
- bash
- c
- coffeescript
- cpp
- csharp
- css
- d
- diff
- go
- handlebars
- haskell
- http
- ini
- java
- javascript
- json
- julia
- kotlin
- less
- lua
- makefile
- markdown
- nginx
- objectivec
- perl
- php
- plaintext
- properties
- python
- r
- ruby
- rust
- scala
- scss
- shell
- sql
- swift
- typescript
- x86asm
- xml
- yaml
Custom theme
与主题的其余部分一样,用于语法突出显示的文件可以用您自己的文件覆盖。
- highlight.js 通常您不必覆盖此文件,除非您想使用更新的版本。
- highlight.css highlight.js 用于语法高亮显示的主题。
如果你想为 highlight.js
使用另一个主题,请从他们的网站下载它,或者自己制作,将其重命名为 highlight.css
并将其放在你的书的 theme
文件夹中。
现在将使用您的主题而不是默认主题。
隐藏代码行
mdBook 中有一项功能可以让您通过在代码行前加上 #
来隐藏代码行。
# fn main() {
let x = 5;
let y = 6;
println!("{}", x + y);
# }
将渲染为
fn main() { let x = 5; let y = 7; println!("{}", x + y); }
目前,这只适用于使用 rust
注释的代码示例。 因为它会与某些编程语言的语义发生冲突。 将来,我们希望通过 book.toml
使其可配置,以便每个人都可以从中受益。
改进默认主题
如果您认为默认主题对于特定语言来说看起来不太合适,或者可以改进,请随时提交一个新issue来解释您的想法,我会查看它。
您还可以创建pull-request来建议需要改进的地方。
总体而言,主题应该是轻松而清醒的,没有太多华丽的色彩。