]>
Commit | Line | Data |
---|---|---|
1 | mod gemini_parser; | |
2 | mod file_finder; | |
3 | mod file_handler; | |
4 | ||
5 | use std::io::Result; | |
6 | use std::env::current_dir; | |
7 | use std::fs::{create_dir_all, remove_dir_all}; | |
8 | ||
9 | use crate::file_finder::find_files; | |
10 | use crate::file_handler::FileHandler; | |
11 | ||
12 | fn main() -> Result<()> { | |
13 | let source = current_dir()?; | |
14 | let source_name = source.file_name().unwrap().to_string_lossy(); | |
15 | let parent = source.parent().unwrap(); | |
16 | let destination_name = format!("{}_html", source_name); | |
17 | let destination = parent.join(destination_name); | |
18 | ||
19 | // Step 1. Identify the files | |
20 | let files = find_files(&source); | |
21 | ||
22 | // Step 2. Prepare the target priority | |
23 | match remove_dir_all(&destination) { | |
24 | _ => {} | |
25 | }; | |
26 | create_dir_all(&destination)?; | |
27 | ||
28 | // Step 3. Load the layout | |
29 | let mut file_handler = FileHandler::default(); | |
30 | file_handler.get_layout_or_panic(&files); | |
31 | ||
32 | // Step 4. Process all files | |
33 | file_handler.handle_all(&source, &destination, &files); | |
34 | Ok(()) | |
35 | } |