diff --git a/libs/build/src/install.rs b/libs/build/src/install.rs index 37d768b..7c9f24d 100644 --- a/libs/build/src/install.rs +++ b/libs/build/src/install.rs @@ -122,7 +122,7 @@ fn process_migration_file(entry_path: PathBuf, target: PathBuf, data_dir: &Path) let file_name = file_name.to_str().unwrap(); if file_name == "todo.txt" { let new_loc = data_dir.join(file_name); - fs::rename(&entry_path, &new_loc).unwrap(); + fs::rename(&entry_path, new_loc).unwrap(); return; } if file_name.ends_with("md") { diff --git a/libs/build/src/pages.rs b/libs/build/src/pages.rs index b81cbfc..a1d0199 100644 --- a/libs/build/src/pages.rs +++ b/libs/build/src/pages.rs @@ -1,5 +1,6 @@ use async_recursion::async_recursion; use futures::{stream, StreamExt}; +use std::fmt::Write; use render::static_site_page::StaticSitePage; use wikitext::{ @@ -78,7 +79,7 @@ impl Default for Builder { } } -async fn process_file(path: PathBuf, backlinks: &mut GlobalBacklinks, pages: ParsedPages) { +async fn process_file(path: PathBuf, backlinks: &GlobalBacklinks, pages: ParsedPages) { let note = path_to_data_structure(&path).unwrap(); let structured = note.to_structured().as_owned(); let mut backlinks = backlinks.lock().await; @@ -95,14 +96,14 @@ async fn parse_entries( ) { let entries = read_dir(entrypoint).unwrap(); let pipeline = stream::iter(entries).for_each(|entry| async { - let mut links = Arc::clone(&backlinks); + let links = Arc::clone(&backlinks); let pages = Arc::clone(&rendered_pages); let entry = entry.unwrap(); let file_name = entry.file_name(); let file_name = file_name.to_str().unwrap(); if entry.file_type().unwrap().is_file() && file_name.ends_with(".txt") { tokio::spawn(async move { - process_file(entry.path(), &mut links, pages).await; + process_file(entry.path(), &links, pages).await; }) .await .unwrap(); @@ -117,10 +118,14 @@ async fn parse_entries( async fn write_index_page(pages: &ParsedPages) { let page_vals = pages.lock().await; - let pages: String = page_vals - .iter() - .map(|page| format!(r#"
  • {}
  • "#, page.title, page.title)) - .collect(); + let pages: String = page_vals.iter().fold(String::new(), |mut output, page| { + let _ = write!( + output, + r#"
  • {}
  • "#, + page.title, page.title + ); + output + }); let body = format!( r#"

    Pages

    "#, pages diff --git a/libs/persistance/src/fs/mod.rs b/libs/persistance/src/fs/mod.rs index a6083e3..b15cd66 100644 --- a/libs/persistance/src/fs/mod.rs +++ b/libs/persistance/src/fs/mod.rs @@ -246,7 +246,7 @@ pub async fn move_archive(old_title: String, new_title: String) { // TODO: this is really dependent on file system ops, won't be good if we change the storage // backend. pub fn path_to_string + ?Sized>(path: &P) -> Result { - std::fs::read_to_string(&path) + std::fs::read_to_string(path) } pub fn path_to_data_structure(path: &Path) -> Result {