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

47 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
<pre><code class="language-markdown">```rust,editable
fn main() {
let number = 5;
print!("{}", number);
}
```</code></pre>
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 overriden 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 overriden as it has some couplings with the
default Ace editor.