mdbook-snips
A mdbook preprocessor to add // --snip--
(or similar) before all "blocks" of hidden lines in rust blocks in a mdbook,
making it very clear that there is some hidden code there.
(mdbook calls them boring lines).
Example:
Before: ```rust
# fn g();
fn main() {
g();
} ```
After: ```rust // --snip--
fn g();
fn main() { // --snip--
g();
} ```
Usage:
bash
cargo install mdbook-snips
Then in the book.toml
of your book:
toml
[preprocessors.mdbook-snips]
command = "mdbook-snips"
Default configuration: ```toml
[preprocessors.mdbook-snips] command = "mdbook-snips" forimports = true forendofblock = false snip_text = "// --snip--" ```
for_imports
Emits a // --snip--
if the first line of the boring "block" is an import
(e.g. starts with the exact string "use "
)
for_end_of_block
Emits a // --snip--
if the last line of the boring "block" ends on the
last line of syntax highlighting block, e.g. for:
\
rust
fn main() {
}
``` ```
With for_end_of_block=true
, it ends up as:
\
rust
fn main() {
}
// --snip--
``` ```
But with for_end_of_block=false
, it doesn't change:
\
rust
fn main() {
}
``` ```
snip_text
If you want to change the // --snip--
text to something else, you can.For example, you can use a block comment:
snip_text="/* --snip-- */"
Which, for:
```
fn main() {} ```
Will give you:
``` /* --snip-- */
fn main() {} ```
mdbook-snips
is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See the LICENSE-APACHE and LICENSE-MIT files in this repository for more information.