diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 6 | ||||
| -rw-r--r-- | src/works/mod.rs | 2 | ||||
| -rw-r--r-- | 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<tera::Context>; + 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<tera::Context> { - 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 } |
