mdbook_plotly/
preprocessor.rs1pub mod bookdata;
2pub mod config;
3pub mod handlers;
4
5use crate::fatal;
6
7pub fn preprocess_book() {
8 let mut book_data = bookdata::get_book_data();
9
10 book_data.emit_compatibility_warning();
11
12 let config = book_data.get_config();
13 let book_path = book_data.get_book_path();
14 #[cfg(feature = "sync")]
15 {
16 book_data.for_each_chapter_par(|chapter| handlers::handle(chapter, &config, &book_path));
17 }
18 #[cfg(not(feature = "sync"))]
19 {
20 book_data.for_each_chapter_mut(|chapter| handlers::handle(chapter, &config, &book_path));
21 }
22
23 let preprocessed_book = book_data.into_book();
24
25 if let Err(e) = serde_json::to_writer(std::io::stdout(), &preprocessed_book) {
26 fatal!("Write bookdata failed.\nInterError: {:#?}", e);
27 }
28}