Remove line trimming for shortcode bodies
Can't remember why it was doing that even with the comment and the test added in the commit still pass so... Fix #462
This commit is contained in:
parent
44a33c020c
commit
7ecdc47b91
|
@ -100,9 +100,7 @@ fn render_shortcode(name: &str, args: &Map<String, Value>, context: &RenderConte
|
||||||
.render(&tpl_name, &tera_context)
|
.render(&tpl_name, &tera_context)
|
||||||
.chain_err(|| format!("Failed to render {} shortcode", name))?;
|
.chain_err(|| format!("Failed to render {} shortcode", name))?;
|
||||||
|
|
||||||
// We trim left every single line of a shortcode to avoid the accidental
|
Ok(res)
|
||||||
// shortcode counted as code block because of 4 spaces left padding
|
|
||||||
Ok(res.lines().map(|s| s.trim_left()).collect())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn render_shortcodes(content: &str, context: &RenderContext) -> Result<String> {
|
pub fn render_shortcodes(content: &str, context: &RenderContext) -> Result<String> {
|
||||||
|
@ -387,4 +385,13 @@ Some body {{ hello() }}{%/* end */%}"#, &Tera::default());
|
||||||
let res = render_shortcodes("Body\n {% youtube() %}Hey!{% end %}", &tera);
|
let res = render_shortcodes("Body\n {% youtube() %}Hey!{% end %}", &tera);
|
||||||
assert_eq!(res, "Body\n Hey!");
|
assert_eq!(res, "Body\n Hey!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://github.com/Keats/gutenberg/issues/462
|
||||||
|
#[test]
|
||||||
|
fn shortcodes_with_body_do_not_eat_newlines() {
|
||||||
|
let mut tera = Tera::default();
|
||||||
|
tera.add_raw_template("shortcodes/youtube.html", "{{body | safe}}").unwrap();
|
||||||
|
let res = render_shortcodes("Body\n {% youtube() %}\nHello \n World{% end %}", &tera);
|
||||||
|
assert_eq!(res, "Body\n Hello \n World");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue