X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/0e276d039b8613de0cbd302bf328bb660ab063b6..2998247083406f914b3647cedd19abf5507bf2c6:/src/generator/mod.rs diff --git a/src/generator/mod.rs b/src/generator/mod.rs new file mode 100644 index 0000000..c4bf1e1 --- /dev/null +++ b/src/generator/mod.rs @@ -0,0 +1,26 @@ +mod static_files; +mod html; +mod rss; +mod txt; + +use std::io::Result; +use std::path::PathBuf; +use crate::post::Post; + +pub fn generate(static_directory: &PathBuf, template_directory: &PathBuf, output_directory: &PathBuf, posts: &Vec) -> Result<()> { + let generators = available_generators(); + for generator in generators { + generator(static_directory, template_directory, output_directory, posts)?; + } + Ok(()) +} + + +fn available_generators() -> Vec) -> Result<()>> { + vec![ + static_files::generate, + html::generate, + rss::generate, + txt::generate + ] +}