diff options
Diffstat (limited to 'src/generator/mod.rs')
| -rw-r--r-- | src/generator/mod.rs | 26 |
1 files changed, 26 insertions, 0 deletions
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<Post>) -> Result<()> { + let generators = available_generators(); + for generator in generators { + generator(static_directory, template_directory, output_directory, posts)?; + } + Ok(()) +} + + +fn available_generators() -> Vec<fn(&PathBuf, &PathBuf, &PathBuf, &Vec<Post>) -> Result<()>> { + vec![ + static_files::generate, + html::generate, + rss::generate, + txt::generate + ] +} |