91 lines
1.7 KiB
Markdown
91 lines
1.7 KiB
Markdown
|
# Syntax Highlighting
|
||
|
|
||
|
mdBook uses [Highlight.js](https://highlightjs.org) with a custom theme
|
||
|
for syntax highlighting.
|
||
|
|
||
|
Automatic language detection has been turned off, so you will probably want to
|
||
|
specify the programming language you use like this:
|
||
|
|
||
|
~~~markdown
|
||
|
```rust
|
||
|
fn main() {
|
||
|
// Some code
|
||
|
}
|
||
|
```
|
||
|
~~~
|
||
|
|
||
|
## Supported languages
|
||
|
|
||
|
These languages are supported by default, but you can add more by supplying
|
||
|
your own `highlight.js` file:
|
||
|
|
||
|
- 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
|
||
|
- nim
|
||
|
- objectivec
|
||
|
- perl
|
||
|
- php
|
||
|
- plaintext
|
||
|
- properties
|
||
|
- python
|
||
|
- r
|
||
|
- ruby
|
||
|
- rust
|
||
|
- scala
|
||
|
- scss
|
||
|
- shell
|
||
|
- sql
|
||
|
- swift
|
||
|
- typescript
|
||
|
- x86asm
|
||
|
- xml
|
||
|
- yaml
|
||
|
|
||
|
## Custom theme
|
||
|
Like the rest of the theme, the files used for syntax highlighting can be
|
||
|
overridden with your own.
|
||
|
|
||
|
- ***highlight.js*** normally you shouldn't have to overwrite this file, unless
|
||
|
you want to use a more recent version.
|
||
|
- ***highlight.css*** theme used by highlight.js for syntax highlighting.
|
||
|
|
||
|
If you want to use another theme for `highlight.js` download it from their
|
||
|
website, or make it yourself, rename it to `highlight.css` and put it in
|
||
|
the `theme` folder of your book.
|
||
|
|
||
|
Now your theme will be used instead of the default theme.
|
||
|
|
||
|
## Improve default theme
|
||
|
|
||
|
If you think the default theme doesn't look quite right for a specific language,
|
||
|
or could be improved, feel free to [submit a new
|
||
|
issue](https://github.com/rust-lang/mdBook/issues) explaining what you
|
||
|
have in mind and I will take a look at it.
|
||
|
|
||
|
You could also create a pull-request with the proposed improvements.
|
||
|
|
||
|
Overall the theme should be light and sober, without too many flashy colors.
|