Setting the post id based on the folder name.
This commit is contained in:
parent
2f0f3ab346
commit
07e4209048
@ -17,6 +17,10 @@ impl BlogPost {
|
|||||||
post_dir: P,
|
post_dir: P,
|
||||||
) -> Result<BlogPost, CustomError> {
|
) -> Result<BlogPost, CustomError> {
|
||||||
async fn inner(root_dir: &Path, post_dir: &Path) -> Result<BlogPost, CustomError> {
|
async fn inner(root_dir: &Path, post_dir: &Path) -> Result<BlogPost, CustomError> {
|
||||||
|
let post_id = post_dir
|
||||||
|
.file_name()
|
||||||
|
.expect("The post directory should have a name.");
|
||||||
|
|
||||||
let org_files = {
|
let org_files = {
|
||||||
let mut ret = Vec::new();
|
let mut ret = Vec::new();
|
||||||
let org_files_iter = get_org_files(post_dir)?;
|
let org_files_iter = get_org_files(post_dir)?;
|
||||||
@ -36,7 +40,7 @@ impl BlogPost {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Ok(BlogPost {
|
Ok(BlogPost {
|
||||||
id: "foo".to_owned(),
|
id: post_id.to_string_lossy().into_owned(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
inner(root_dir.as_ref(), post_dir.as_ref()).await
|
inner(root_dir.as_ref(), post_dir.as_ref()).await
|
||||||
|
@ -19,5 +19,10 @@ pub(crate) async fn build_site(args: BuildArgs) -> Result<(), CustomError> {
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.map(walkdir::DirEntry::into_path)
|
.map(walkdir::DirEntry::into_path)
|
||||||
.map(|path| tokio::spawn(BlogPost::load_blog_post(root_directory.clone(), path)));
|
.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??);
|
||||||
|
}
|
||||||
|
println!("{:?}", blog_posts);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user