render markdown in make_data()
This commit is contained in:
parent
2a033de001
commit
5ca380f5a2
|
@ -220,9 +220,7 @@ impl Chapter {
|
||||||
debug!("[*]: Reading file");
|
debug!("[*]: Reading file");
|
||||||
try!(f.read_to_string(&mut content));
|
try!(f.read_to_string(&mut content));
|
||||||
|
|
||||||
// Render markdown using the pulldown-cmark crate
|
|
||||||
content = utils::strip_toml_header(&content);
|
content = utils::strip_toml_header(&content);
|
||||||
content = utils::render_markdown(&content);
|
|
||||||
|
|
||||||
Ok(content)
|
Ok(content)
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,8 +50,8 @@ pub struct MDBook {
|
||||||
render_intent: RenderIntent,
|
render_intent: RenderIntent,
|
||||||
|
|
||||||
/// The book, or books in case of translations, accessible with a String
|
/// The book, or books in case of translations, accessible with a String
|
||||||
/// key. The keys can be two-letter codes of the translation such as 'en' or
|
/// key. The keys are expected to be the same as the two-letter codes of the
|
||||||
/// 'fr', but this is not enforced.
|
/// language, such as 'en' or 'fr'.
|
||||||
///
|
///
|
||||||
/// The String keys will be sub-folders where the translation's Markdown
|
/// The String keys will be sub-folders where the translation's Markdown
|
||||||
/// sources are expected.
|
/// sources are expected.
|
||||||
|
|
|
@ -125,6 +125,10 @@ impl Renderer for HtmlHandlebars {
|
||||||
&book_project.get_dest_base()));
|
&book_project.get_dest_base()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Concatenate the content (as rendered from Markdown) of each chapter
|
||||||
|
// for writing print.html in the end
|
||||||
|
let mut print_content: String = String::new();
|
||||||
|
|
||||||
debug!("[fn]: render");
|
debug!("[fn]: render");
|
||||||
let mut handlebars = Handlebars::new();
|
let mut handlebars = Handlebars::new();
|
||||||
|
|
||||||
|
@ -204,7 +208,7 @@ impl Renderer for HtmlHandlebars {
|
||||||
content = helpers::playpen::render_playpen(&content, p);
|
content = helpers::playpen::render_playpen(&content, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut data = try!(make_data(&book, &chapter, &content, &book_project.livereload_script));
|
let mut data = try!(make_data(&book, &chapter, &book_project.livereload_script));
|
||||||
|
|
||||||
data.remove("path_to_root");
|
data.remove("path_to_root");
|
||||||
data.insert("path_to_root".to_owned(), "".to_json());
|
data.insert("path_to_root".to_owned(), "".to_json());
|
||||||
|
@ -279,14 +283,7 @@ impl HtmlHandlebars {
|
||||||
handlebars: &Handlebars)
|
handlebars: &Handlebars)
|
||||||
-> Result<(), Box<Error>> {
|
-> Result<(), Box<Error>> {
|
||||||
|
|
||||||
let mut content = try!(chapter.read_content_using(&book.config.src));
|
let data = try!(make_data(book, chapter, livereload_script));
|
||||||
|
|
||||||
// Parse for playpen links
|
|
||||||
if let Some(p) = book.config.get_src().join(&chapter.path).parent() {
|
|
||||||
content = helpers::playpen::render_playpen(&content, p);
|
|
||||||
}
|
|
||||||
|
|
||||||
let data = try!(make_data(book, chapter, &content, livereload_script));
|
|
||||||
|
|
||||||
// Rendere the handlebars template with the data
|
// Rendere the handlebars template with the data
|
||||||
debug!("[*]: Render template");
|
debug!("[*]: Render template");
|
||||||
|
@ -313,7 +310,6 @@ impl HtmlHandlebars {
|
||||||
|
|
||||||
fn make_data(book: &Book,
|
fn make_data(book: &Book,
|
||||||
chapter: &Chapter,
|
chapter: &Chapter,
|
||||||
content: &str,
|
|
||||||
livereload_script: &Option<String>)
|
livereload_script: &Option<String>)
|
||||||
-> Result<serde_json::Map<String, serde_json::Value>, Box<Error>> {
|
-> Result<serde_json::Map<String, serde_json::Value>, Box<Error>> {
|
||||||
|
|
||||||
|
@ -356,6 +352,14 @@ fn make_data(book: &Book,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let mut content = try!(chapter.read_content_using(&book.config.src));
|
||||||
|
content = utils::render_markdown(&content);
|
||||||
|
|
||||||
|
// Parse for playpen links
|
||||||
|
if let Some(p) = book.config.get_src().join(&chapter.path).parent() {
|
||||||
|
content = helpers::playpen::render_playpen(&content, p);
|
||||||
|
}
|
||||||
|
|
||||||
data.insert("content".to_owned(), content.to_json());
|
data.insert("content".to_owned(), content.to_json());
|
||||||
|
|
||||||
data.insert("path_to_root".to_owned(), utils::fs::path_to_root(&path).to_json());
|
data.insert("path_to_root".to_owned(), utils::fs::path_to_root(&path).to_json());
|
||||||
|
|
Loading…
Reference in New Issue