extracted writing files into its own function
parent
aab7616ebf
commit
7421e8a5e1
|
@ -2,9 +2,11 @@
|
|||
name = "lf-builder"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = [ "Alina Marquardt" ]
|
||||
authors = [ "Alina Marquardt <lastfuture@lastfuture.de>" ]
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
chrono = "0.4.24"
|
||||
json = "0.12.4"
|
||||
mustache = "0.9.0"
|
||||
|
|
38
src/main.rs
38
src/main.rs
|
@ -6,41 +6,47 @@ use std::time::Instant;
|
|||
const PUBLISH_PATH: &str = "./pub/";
|
||||
const TEMPLATE_PATH: &str = "./src/templates/";
|
||||
|
||||
fn render_html(file: &str, template: &str, data: Vec<i32>) -> Result<(), Error> {
|
||||
fn render_html(file: &str, template_file: &str) {
|
||||
let output_path = &format!("{}{}", PUBLISH_PATH, file);
|
||||
let template_path = &format!("{}{}", TEMPLATE_PATH, template);
|
||||
let template_path = &format!("{}{}", TEMPLATE_PATH, template_file);
|
||||
|
||||
let now = Instant::now();
|
||||
// TODO: Templating with template and data
|
||||
// TODO: Generate HTML with template and data
|
||||
let html_string = "<h1>Hello!</h1>";
|
||||
let elapsed = now.elapsed();
|
||||
|
||||
let mut output_file = File::create(output_path)?;
|
||||
write!(output_file,
|
||||
"{}\n
|
||||
<!--\n
|
||||
{}\n
|
||||
{}\n
|
||||
generated in {:.2?}\n
|
||||
-->",
|
||||
let output = format!(
|
||||
"{}\n\n<!--\n {}\n {}\n generated in {:.2?}\n-->",
|
||||
html_string,
|
||||
template,
|
||||
template_path,
|
||||
chrono::offset::Local::now(),
|
||||
elapsed
|
||||
)?;
|
||||
now.elapsed(),
|
||||
);
|
||||
|
||||
let result = write_file(output_path, output);
|
||||
match result {
|
||||
Ok(file) => file,
|
||||
Err(e) => panic!("Problem creating {:?}", e)
|
||||
}
|
||||
|
||||
/*
|
||||
let input = File::open(output_path)?;
|
||||
let buffered = BufReader::new(input);
|
||||
|
||||
for line in buffered.lines() {
|
||||
println!("{}", line?);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
fn write_file(file_path: &str, contents: String) -> Result<(), Error> {
|
||||
let mut output_file = File::create(file_path)?;
|
||||
write!(output_file, "{}", contents)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
||||
render_html("index.html", "index.tmpl", vec![1, 2, 3]);
|
||||
render_html("index.html", "index.tmpl");
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue