From f982a5621bfed646ce71fcf7aeeca71ef4ae55c1 Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Sun, 4 Aug 2024 10:07:08 +0200 Subject: Purge --- src/works/mod.rs | 63 -------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 src/works/mod.rs (limited to 'src/works/mod.rs') diff --git a/src/works/mod.rs b/src/works/mod.rs deleted file mode 100644 index 8cda299..0000000 --- a/src/works/mod.rs +++ /dev/null @@ -1,63 +0,0 @@ -use std::fs::{write, File}; -use std::io::BufReader; -use std::path::PathBuf; - -use anyhow::{Context, Ok, Result}; -use serde::{Deserialize, Serialize}; - -pub mod stories; - -// functionality for a group of work, e.g. stories or games -pub trait Works: for<'a> Deserialize<'a> + Serialize { - // create works from the corresponding JSON file, - // e.g. stories from stories.json - fn new_from_file(workname: &str) -> Result { - let work = serde_json::from_reader(BufReader::new( - &File::open(PathBuf::from(format!("{}.json", workname))) - .with_context(|| format!("Failed to open {}.json", workname))?, - )) - .with_context(|| format!("Failed to create works from {}.json", workname))?; - Ok(work) - } - - // crate tera context from the group of work - // tera context can be accessed in HTML tera templating - fn create_tera_context(&self) -> tera::Context { - let mut context = tera::Context::new(); - context.insert("works", &self); - context - } - - // render page for every work - fn render_single_pages(self, tera_instance: &tera::Tera, template_name: &str) -> Result; - - // render corresponding overview HTML template - // with its tera context - fn render_overview_page( - self, - tera_instance: &tera::Tera, - filename_without_extension: &str, - ) -> Result { - write( - format!("docs/{}.html", filename_without_extension).as_str(), - tera_instance - .render( - format!("{}.html", filename_without_extension).as_str(), - &self.create_tera_context(), - ) - .with_context(|| { - format!( - "Failed rendering overview page for {}", - filename_without_extension - ) - })?, - ) - .with_context(|| { - format!( - "Failed to write overview page for {}", - filename_without_extension - ) - })?; - Ok(self) - } -} -- cgit v1.2.3