MDBook in mdbook_driver - Rust (original) (raw)
pub struct MDBook {
pub root: PathBuf,
pub config: Config,
pub book: Book,
/* private fields */
}Expand description
The object used to manage and build a book.
The book’s root directory.
The configuration used to tweak now a book is built.
A representation of the book’s contents in memory.
Load a book from its root directory on disk.
Load a book from its root directory using a custom Config.
Load a book from its root directory using a custom Config and a custom summary.
Returns a flat depth-first iterator over the BookItems of the book.
for item in book.iter() {
match *item {
BookItem::Chapter(ref chapter) => {},
BookItem::Separator => {},
BookItem::PartTitle(ref title) => {}
_ => {}
}
}
// would print something like this:
// 1. Chapter 1
// 1.1 Sub Chapter
// 1.2 Sub Chapter
// 2. Chapter 2
//
// etc.
init() gives you a BookBuilder which you can use to setup a new book and its accompanying directory structure.
The BookBuilder creates some boilerplate files and directories to get you started with your book.
book-test/
├── book
└── src
├── chapter_1.md
└── SUMMARY.mdIt uses the path provided as the root directory for your book, then adds in a src/ directory containing a SUMMARY.md and chapter_1.md file to get you started.
Tells the renderer to build our book and put it in the build directory.
Run preprocessors and return the final book.
Run the entire build process for a particular Renderer.
You can change the default renderer to another one by using this method. The only requirement is that your renderer implement the Renderertrait.
Register a Preprocessor to be used when rendering the book.
Run rustdoc tests on the book, linking against the provided libraries.
Run rustdoc tests on a specific chapter of the book, linking against the provided libraries. If chapter is None, all tests will be run.
The logic for determining where a backend should put its build artefacts.
If there is only 1 renderer, put it in the directory pointed to by thebuild.build_dir key in Config. If there is more than one then the renderer gets its own directory within the main build dir.
i.e. If there were only one renderer (in this case, the HTML renderer):
- build/
- index.html
- …
Otherwise if there are multiple:
- build/
- epub/
* my_awesome_book.epub - html/
* index.html
* … - latex/
* my_awesome_book.tex
- epub/
Get the directory containing this book’s source files.
Get the directory containing the theme resources for the book.