fn run()

in helpers/mdbook-exercise-linker/src/lib.rs [19:37]


    fn run(&self, ctx: &PreprocessorContext, mut book: Book) -> Result<Book, Error> {
        let config = ctx
            .config
            .get_preprocessor(self.name())
            .context("Failed to get preprocessor configuration")?;
        let key = String::from("exercise_root_url");
        let root_url = config
            .get(&key)
            .context("Failed to get `exercise_root_url`")?;
        let root_url = root_url
            .as_str()
            .context("`exercise_root_url` is not a string")?
            .to_owned();

        book.sections
            .iter_mut()
            .for_each(|i| process_book_item(i, &ctx.renderer, &root_url));
        Ok(book)
    }