diff options
-rw-r--r-- | askama_derive/src/generator.rs | 2 | ||||
-rw-r--r-- | testing/tests/markdown.rs | 18 |
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" + ) +} |