aboutsummaryrefslogtreecommitdiff
path: root/src/generator
diff options
context:
space:
mode:
Diffstat (limited to 'src/generator')
-rw-r--r--src/generator/html.rs11
-rw-r--r--src/generator/mod.rs23
-rw-r--r--src/generator/rss.rs11
-rw-r--r--src/generator/static_files.rs13
-rw-r--r--src/generator/txt.rs11
5 files changed, 49 insertions, 20 deletions
diff --git a/src/generator/html.rs b/src/generator/html.rs
index ab47b7a..7b36944 100644
--- a/src/generator/html.rs
+++ b/src/generator/html.rs
@@ -1,11 +1,16 @@
+use crate::template::{find, parse, TemplateContext};
use std::fs::write;
use std::io::{Error, ErrorKind::Other, Result};
use std::path::PathBuf;
-use crate::template::{find, parse, TemplateContext};
const FILENAME: &str = "index.html";
-pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, context: &TemplateContext) -> Result<()> {
+pub fn generate(
+ _: &PathBuf,
+ template_directory: &PathBuf,
+ target: &PathBuf,
+ context: &TemplateContext,
+) -> Result<()> {
match find(template_directory, FILENAME) {
Some(template) => {
let parsed_template = parse(&template)
@@ -13,7 +18,7 @@ pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, con
let rendered_template = parsed_template.render(context)?;
let location = target.join(FILENAME);
write(location, rendered_template)?;
- },
+ }
None => {}
}
Ok(())
diff --git a/src/generator/mod.rs b/src/generator/mod.rs
index e967e41..293ad7d 100644
--- a/src/generator/mod.rs
+++ b/src/generator/mod.rs
@@ -1,29 +1,38 @@
-mod static_files;
mod html;
mod rss;
+mod static_files;
mod txt;
-use std::io::Result;
-use std::path::PathBuf;
use crate::post::Post;
use crate::template::TemplateContext;
+use std::io::Result;
+use std::path::PathBuf;
-pub fn generate(static_directory: &PathBuf, template_directory: &PathBuf, output_directory: &PathBuf, posts: &Vec<Post>) -> Result<()> {
+pub fn generate(
+ static_directory: &PathBuf,
+ template_directory: &PathBuf,
+ output_directory: &PathBuf,
+ posts: &Vec<Post>,
+) -> Result<()> {
let generators = available_generators();
let context = Post::to_template_context(&posts);
for generator in generators {
- generator(static_directory, template_directory, output_directory, &context)?;
+ generator(
+ static_directory,
+ template_directory,
+ output_directory,
+ &context,
+ )?;
}
Ok(())
}
-
fn available_generators() -> Vec<fn(&PathBuf, &PathBuf, &PathBuf, &TemplateContext) -> Result<()>> {
vec![
static_files::generate,
// These three are actually the same. Can generalize, don't know how in rust yet.
html::generate,
rss::generate,
- txt::generate
+ txt::generate,
]
}
diff --git a/src/generator/rss.rs b/src/generator/rss.rs
index 6a13bb8..9705f8e 100644
--- a/src/generator/rss.rs
+++ b/src/generator/rss.rs
@@ -1,11 +1,16 @@
+use crate::template::{find, parse, TemplateContext};
use std::fs::write;
use std::io::{Error, ErrorKind::Other, Result};
use std::path::PathBuf;
-use crate::template::{find, parse, TemplateContext};
const FILENAME: &str = "feed.xml";
-pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, context: &TemplateContext) -> Result<()> {
+pub fn generate(
+ _: &PathBuf,
+ template_directory: &PathBuf,
+ target: &PathBuf,
+ context: &TemplateContext,
+) -> Result<()> {
match find(template_directory, FILENAME) {
Some(template) => {
let parsed_template = parse(&template)
@@ -13,7 +18,7 @@ pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, con
let rendered_template = parsed_template.render(context)?;
let location = target.join(FILENAME);
write(location, rendered_template)?;
- },
+ }
None => {}
}
Ok(())
diff --git a/src/generator/static_files.rs b/src/generator/static_files.rs
index 401eacf..8c55de3 100644
--- a/src/generator/static_files.rs
+++ b/src/generator/static_files.rs
@@ -1,11 +1,16 @@
-use std::io::Result;
-use std::path::PathBuf;
use crate::template::TemplateContext;
use crate::utils::recursively_copy;
+use std::io::Result;
+use std::path::PathBuf;
-pub fn generate(source: &PathBuf, _: &PathBuf, target: &PathBuf, _: &TemplateContext) -> Result<()> {
+pub fn generate(
+ source: &PathBuf,
+ _: &PathBuf,
+ target: &PathBuf,
+ _: &TemplateContext,
+) -> Result<()> {
if source.exists() {
- return recursively_copy(source, target)
+ return recursively_copy(source, target);
}
Ok(())
}
diff --git a/src/generator/txt.rs b/src/generator/txt.rs
index f505480..e146c15 100644
--- a/src/generator/txt.rs
+++ b/src/generator/txt.rs
@@ -1,11 +1,16 @@
+use crate::template::{find, parse, TemplateContext};
use std::fs::write;
use std::io::{Error, ErrorKind::Other, Result};
use std::path::PathBuf;
-use crate::template::{find, parse, TemplateContext};
const FILENAME: &str = "index.txt";
-pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, context: &TemplateContext) -> Result<()> {
+pub fn generate(
+ _: &PathBuf,
+ template_directory: &PathBuf,
+ target: &PathBuf,
+ context: &TemplateContext,
+) -> Result<()> {
match find(template_directory, FILENAME) {
Some(template) => {
let parsed_template = parse(&template)
@@ -13,7 +18,7 @@ pub fn generate(_: &PathBuf, template_directory: &PathBuf, target: &PathBuf, con
let rendered_template = parsed_template.render(context)?;
let location = target.join(FILENAME);
write(location, rendered_template)?;
- },
+ }
None => {}
}
Ok(())