X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/48ea90800c3aa6055247fe2c56bc8e9d63024bd3..4d946aebe3f70ad18e235d68474b6d489757c927:/src/main.rs diff --git a/src/main.rs b/src/main.rs index c6de435..0414288 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,11 +1,10 @@ -mod gemini_parser; mod file_finder; mod file_handler; -use std::io::Result; -use std::process::exit; use std::env::current_dir; use std::fs::{create_dir_all, remove_dir_all}; +use std::io::Result; +use std::process::exit; use crate::file_finder::find_files; use crate::file_handler::FileHandler; @@ -14,29 +13,32 @@ fn main() -> Result<()> { let source = current_dir()?; let source_name = source.file_name().unwrap().to_string_lossy(); let parent = source.parent().unwrap(); - let destination_name = format!("{}_html", source_name); - let destination = parent.join(destination_name); + let gemini_destination_name = format!("{source_name}_gemini"); + let gemini_destination = parent.join(gemini_destination_name); + let html_destination_name = format!("{source_name}_html"); + let html_destination = parent.join(html_destination_name); // Step 1. Identify the files let files = find_files(&source); - // Step 2. Prepare the target priority - match remove_dir_all(&destination) { - _ => {} - }; - create_dir_all(&destination)?; - - // Step 3. Load the layout + // Step 2. Load the layout let mut file_handler = FileHandler::default(); match file_handler.get_layout_or_panic(&files) { - Ok(_) => {}, + Ok(()) => {} Err(error) => { - eprintln!("{}", error); + eprintln!("{error}"); exit(1); } } + // Step 3. Prepare the target priority + let _ = remove_dir_all(&html_destination); + let _ = remove_dir_all(&gemini_destination); + + create_dir_all(&html_destination).expect("Could not create HTML directory."); + create_dir_all(&gemini_destination).expect("Could not create Gemini directory."); + // Step 4. Process all files - file_handler.handle_all(&source, &destination, &files); + file_handler.handle_all(&source, &html_destination, &gemini_destination, &files); Ok(()) }