diff --git a/src/book/mod.rs b/src/book/mod.rs index 0dd6edda..eac350e3 100644 --- a/src/book/mod.rs +++ b/src/book/mod.rs @@ -224,7 +224,7 @@ impl MDBook { let temp_dir = TempDir::new("mdbook")?; - let replace_all_preprocessor = preprocess::links::ReplaceAllPreprocessor { + let replace_all_preprocessor = preprocess::links::LinkPreprocessor { src_dir: self.source_dir(), }; @@ -337,24 +337,27 @@ fn determine_renderers(config: &Config) -> Vec> { fn determine_preprocessors(md_book: &MDBook) -> Vec> { let mut preprocessors: Vec> = Vec::new(); - if let Some(preprocess_array) = md_book.config.get("pre_process").and_then(|o| o.as_array()) { + if let Some(preprocess_array) = md_book.config.get("preprocess").and_then(|o| o.as_array()) { for key in preprocess_array.iter() { - if key.as_str().map_or(false, |key| key == "links") { - let replace_all_preprocessor = preprocess::links::ReplaceAllPreprocessor { - src_dir: md_book.source_dir(), - }; + match key.as_str() { + Some(key) if key == "links" => { + let link_preprocessor = preprocess::links::LinkPreprocessor { + src_dir: md_book.source_dir(), + }; - preprocessors.push(Box::new(replace_all_preprocessor)) + preprocessors.push(Box::new(link_preprocessor )) + } + _ => {} } } } if preprocessors.is_empty() { - let replace_all_preprocessor = preprocess::links::ReplaceAllPreprocessor { + let link_preprocessor = preprocess::links::LinkPreprocessor { src_dir: md_book.source_dir(), }; - preprocessors.push(Box::new(replace_all_preprocessor)) + preprocessors.push(Box::new(link_preprocessor)) } preprocessors diff --git a/src/preprocess/links.rs b/src/preprocess/links.rs index 1ad63165..5a99f629 100644 --- a/src/preprocess/links.rs +++ b/src/preprocess/links.rs @@ -10,11 +10,11 @@ use book::{Book, BookItem}; const ESCAPE_CHAR: char = '\\'; -pub struct ReplaceAllPreprocessor { +pub struct LinkPreprocessor { pub src_dir: PathBuf } -impl Preprocessor for ReplaceAllPreprocessor { +impl Preprocessor for LinkPreprocessor { fn run(&self, book: &mut Book) -> Result<()> { for section in &mut book.sections { match *section {