mdbook/guide/src/format/theme/editor.md

49 lines
1.1 KiB
Markdown
Raw Normal View History

2018-01-16 21:26:13 -08:00
# Editor
In addition to providing runnable code playgrounds, mdBook optionally allows them
to be editable. In order to enable editable code blocks, the following needs to
be added to the ***book.toml***:
2018-01-16 21:26:13 -08:00
```toml
[output.html.playground]
2018-01-16 21:26:13 -08:00
editable = true
```
To make a specific block available for editing, the attribute `editable` needs
to be added to it:
2018-01-16 21:26:13 -08:00
2021-12-19 20:26:37 -08:00
~~~markdown
```rust,editable
2018-01-16 21:26:13 -08:00
fn main() {
let number = 5;
print!("{}", number);
}
2021-12-19 20:26:37 -08:00
```
~~~
2018-01-16 21:26:13 -08:00
The above will result in this editable playground:
2018-01-16 21:26:13 -08:00
```rust,editable
fn main() {
let number = 5;
print!("{}", number);
}
```
Note the new `Undo Changes` button in the editable playgrounds.
2018-01-16 21:26:13 -08:00
## Customizing the Editor
By default, the editor is the [Ace](https://ace.c9.io/) editor, but, if desired,
the functionality may be overridden by providing a different folder:
2018-01-16 21:26:13 -08:00
```toml
[output.html.playground]
2018-01-16 21:26:13 -08:00
editable = true
editor = "/path/to/editor"
```
Note that for the editor changes to function correctly, the `book.js` inside of
the `theme` folder will need to be overridden as it has some couplings with the
default Ace editor.