From 69583b1236fd329cdc223f2d2a52ff313269d1d1 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 22 May 2018 18:56:22 +0200 Subject: refactor(templates): Move thread page template to Askama --- src/render.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/render.rs') diff --git a/src/render.rs b/src/render.rs index ff8bd3ab8e..cfae2ad817 100644 --- a/src/render.rs +++ b/src/render.rs @@ -108,7 +108,7 @@ message!(ThreadPage, Result); struct RenderablePost { id: i32, body: String, - posted: String, // FormattedDate, + posted: FormattedDate, author_name: String, author_gravatar: String, editable: bool, @@ -116,7 +116,8 @@ struct RenderablePost { /// This structure represents the transformed thread data with /// Markdown rendering and other changes applied. -#[derive(Debug, Serialize)] +#[derive(Template)] +#[template(path = "thread.html")] struct RenderableThreadPage { id: i32, title: String, @@ -137,7 +138,7 @@ fn prepare_thread(comrak: &ComrakOptions, page: ThreadPage) -> RenderableThreadP RenderablePost { id: post.id, body: markdown_to_html(&post.body, comrak), - posted: format!("{}", FormattedDate(post.posted)), // post.posted.into(), + posted: FormattedDate(post.posted), author_name: post.author_name.clone(), author_gravatar: md5_hex(post.author_email.as_bytes()), editable, @@ -147,7 +148,7 @@ fn prepare_thread(comrak: &ComrakOptions, page: ThreadPage) -> RenderableThreadP RenderableThreadPage { posts, id: page.thread.id, - title: escape_html(&page.thread.title), + title: page.thread.title, } } @@ -156,7 +157,7 @@ impl Handler for Renderer { fn handle(&mut self, msg: ThreadPage, _: &mut Self::Context) -> Self::Result { let renderable = prepare_thread(&self.comrak, msg); - Ok(self.tera.render("thread.html", &renderable)?) + renderable.render().map_err(|e| e.into()) } } -- cgit 1.4.1