ninja_files_mdbook/
lib.rs

1use ninja_files_data::*;
2
3const MDBOOK: &str = "mdbook-build";
4pub fn mdbook<Book, Out>(book: Book, out: Out) -> FileBuilder
5where
6    Book: AsRef<Utf8Path>,
7    Out: AsRef<Utf8Path>,
8{
9    let dir = book.as_ref().parent().unwrap();
10    let command = CommandBuilder::new("mdbook").arg("build").arg("$dir");
11    let rule = RuleBuilder::new(command);
12
13    let build = BuildBuilder::new(MDBOOK)
14        .implicit(&book)
15        .variable("dir", dir);
16    FileBuilder::new().rule(MDBOOK, rule).file(out, build)
17}