diff --git a/src/build/mod.rs b/src/build/mod.rs index 4e92d96..f0fa8ce 100644 --- a/src/build/mod.rs +++ b/src/build/mod.rs @@ -5,7 +5,7 @@ use config::Config; pub fn build_input(config: Config, input: String) -> Result { - let html = try!(pandoc::render(input)); + let html = try!(pandoc::render(config.clone(), input)); let rendered = try!(process::render(config.clone(), html)); return Ok(rendered); } diff --git a/src/build/pandoc.rs b/src/build/pandoc.rs index 2e681ef..10c1891 100644 --- a/src/build/pandoc.rs +++ b/src/build/pandoc.rs @@ -2,9 +2,10 @@ use pandoc::{self, Pandoc, PandocOutput, PandocError}; use std::error::Error; use utils::get_exe_dir; use std::path::PathBuf; +use config::{Config, References}; -fn execute_pandoc(input: String, csl_dir: Option) -> Result { +fn execute_pandoc(input: String, references: Option) -> Result { let mut renderer = Pandoc::new(); renderer.set_output_format(pandoc::OutputFormat::Html, vec![]); renderer.set_input_format(pandoc::InputFormat::Markdown, vec![]); @@ -13,12 +14,17 @@ fn execute_pandoc(input: String, csl_dir: Option) -> Result Result { - let output = execute_pandoc(input, None); +pub fn render(config: Config, input: String) -> Result { + let output = execute_pandoc(input, config.references); if output.is_err() { return Err(output.err().unwrap().description().into()); }