diff --git a/Cargo.lock b/Cargo.lock index 2c546c9..77d0864 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -331,7 +331,7 @@ dependencies = [ [[package]] name = "simple-ssg" -version = "3.0.2" +version = "3.0.3" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 734cb30..a753247 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Ryan Brue "] repository = "https://github.com/ryanabx/simple-ssg" license = "MIT" readme = "README.md" -version = "3.0.2" +version = "3.0.3" edition = "2021" description = "Plain and simple static site generator for Djot and Markdown light markup languages" diff --git a/src/main.rs b/src/main.rs index 2817be3..92eb4ec 100644 --- a/src/main.rs +++ b/src/main.rs @@ -328,24 +328,40 @@ fn generate_table_of_contents( web_prefix: Option<&str>, ) -> String { let mut table_of_contents_html = ""); + log::debug!("{} (Dir, depth_diff={})", &format_string, depth_diff); + table_of_contents_html.push_str(&format_string); + } depth_diff += 1; } prev_depth = *depth; if *depth > 0 { - table_of_contents_html.push_str(&format!( - "
  • {}:
  • "); + if prev_folders.pop().is_none() { + let format_string = format!(""); + log::debug!("{} (File, depth_diff={})", &format_string, depth_diff); + table_of_contents_html.push_str(&format_string); + } depth_diff += 1; } + let mut pos_depth_diff = prev_folders.len(); + while pos_depth_diff > 0 { + let folder_name = prev_folders.remove(0); + let format_string = format!("
  • {}:
  • ", &folder_name,); + log::debug!( + "{} (folder, depth={})", + &format_string, + (*depth - pos_depth_diff) + ); + table_of_contents_html.push_str(&format_string); + let format_string = format!(""); + let format_string = format!(""); + log::debug!("{} (end, depth_diff={})", &format_string, depth_diff); + table_of_contents_html.push_str(&format_string); depth_diff += 1; } // log::debug!("Table of contents: {}", &table_of_contents_html); - table_of_contents_html }