aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--askama_derive/src/generator.rs2
-rw-r--r--testing/tests/markdown.rs18
2 files changed, 19 insertions, 1 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index df15bdc..760a1f6 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -1200,7 +1200,7 @@ impl<'a> Generator<'a> {
};
buf.write(&format!(
- "::askama::filters::markdown({}, ",
+ "::askama::filters::markdown({}, &",
self.input.escaper
));
self.visit_expr(buf, md)?;
diff --git a/testing/tests/markdown.rs b/testing/tests/markdown.rs
index 75163c9..04c9ec9 100644
--- a/testing/tests/markdown.rs
+++ b/testing/tests/markdown.rs
@@ -70,3 +70,21 @@ before\
after",
);
}
+
+#[derive(Template)]
+#[template(source = "{{content|markdown}}", ext = "html")]
+struct MarkdownStringTemplate {
+ content: String,
+}
+
+// Tests if the markdown filter accepts String
+#[test]
+fn test_markdown_owned_string() {
+ let template = MarkdownStringTemplate {
+ content: "The markdown filter _indeed_ works with __String__".into(),
+ };
+ assert_eq!(
+ template.render().unwrap(),
+ "<p>The markdown filter <em>indeed</em> works with <strong>String</strong></p>\n"
+ )
+}