Serialize the RenderBlogPost to JSON.
This struct still does not contain anything, but I'm just setting up the skeleton for this code.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use crate::blog_post::convert_blog_post_to_render_context;
|
||||
use crate::blog_post::BlogPost;
|
||||
use crate::cli::parameters::BuildArgs;
|
||||
use crate::config::Config;
|
||||
@@ -7,17 +8,14 @@ use crate::error::CustomError;
|
||||
|
||||
pub(crate) async fn build_site(args: BuildArgs) -> Result<(), CustomError> {
|
||||
let config = Config::load_from_file(args.config).await?;
|
||||
let root_directory = config.get_root_directory().to_owned();
|
||||
let output_directory = get_output_directory(&config).await?;
|
||||
let post_directories = get_post_directories(&config).await?;
|
||||
let load_jobs = post_directories
|
||||
.into_iter()
|
||||
.map(|path| tokio::spawn(BlogPost::load_blog_post(root_directory.clone(), path)));
|
||||
let mut blog_posts = Vec::new();
|
||||
for job in load_jobs {
|
||||
blog_posts.push(job.await??);
|
||||
}
|
||||
let blog_posts = load_blog_posts(&config).await?;
|
||||
println!("{:?}", blog_posts);
|
||||
|
||||
for blog_post in &blog_posts {
|
||||
let render_context = convert_blog_post_to_render_context(blog_post);
|
||||
println!("{}", serde_json::to_string(&render_context)?);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -51,3 +49,16 @@ async fn get_post_directories(config: &Config) -> Result<Vec<PathBuf>, CustomErr
|
||||
}
|
||||
Ok(ret)
|
||||
}
|
||||
|
||||
async fn load_blog_posts(config: &Config) -> Result<Vec<BlogPost>, CustomError> {
|
||||
let root_directory = config.get_root_directory().to_owned();
|
||||
let post_directories = get_post_directories(&config).await?;
|
||||
let load_jobs = post_directories
|
||||
.into_iter()
|
||||
.map(|path| tokio::spawn(BlogPost::load_blog_post(root_directory.clone(), path)));
|
||||
let mut blog_posts = Vec::new();
|
||||
for job in load_jobs {
|
||||
blog_posts.push(job.await??);
|
||||
}
|
||||
Ok(blog_posts)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user