From 746c348f739a8d5f26d4cd76ed72646a338271c4 Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Tue, 23 Aug 2022 19:24:17 +0200 Subject: Modify function to create tera context for stories --- src/main.rs | 6 +++--- src/works/mod.rs | 2 +- src/works/stories.rs | 8 +++----- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4be987f..3985b06 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,14 +22,14 @@ fn main() { std::fs::write("docs/index.html", output) .expect("Failed to write rendered output to index.html"); - let mut file = match std::fs::File::open(std::path::PathBuf::from("stories.json")) { + let file = match std::fs::File::open(std::path::PathBuf::from("stories.json")) { Ok(file) => file, Err(err) => panic!("Trying to open stories.json in readmode - {:?}", err), }; let stories = works::stories::Stories::new_from_file(file); - println!("Stories: {:?}", stories); + println!("Stories: {:?}\n", stories); let context = stories.create_tera_context(); - println!("{:?}", context); + println!("Context: {:?}\n", context); } diff --git a/src/works/mod.rs b/src/works/mod.rs index f399fdd..3dfd4a2 100644 --- a/src/works/mod.rs +++ b/src/works/mod.rs @@ -10,5 +10,5 @@ pub trait Works: for<'a> Deserialize<'a> { } } - fn create_tera_context(&self) -> Vec; + fn create_tera_context(&self) -> tera::Context; } diff --git a/src/works/stories.rs b/src/works/stories.rs index 5d96ed8..450f3bc 100644 --- a/src/works/stories.rs +++ b/src/works/stories.rs @@ -14,12 +14,10 @@ pub struct Story { } impl super::Works for Stories { - fn create_tera_context(&self) -> Vec { - let mut context = Vec::new(); + fn create_tera_context(&self) -> tera::Context { + let mut context = tera::Context::new(); for story in self.0.iter() { - context.push( - tera::Context::from_serialize(&story).expect("Trying to serialize to tera context"), - ); + context.insert(format!("story-{}", story.id), &story); } context } -- cgit v1.2.3