diff --git a/Cargo.lock b/Cargo.lock index 5863dd1..2f3b4c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,12 +12,18 @@ dependencies = [ ] [[package]] -name = "ansi_term" -version = "0.11.0" +name = "android-tzdata" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "winapi", + "libc", ] [[package]] @@ -69,12 +75,53 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + [[package]] name = "bitflags" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "cc" +version = "1.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets", +] + [[package]] name = "clap" version = "4.5.28" @@ -121,6 +168,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "equivalent" version = "1.0.1" @@ -145,6 +198,35 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "indexmap" version = "2.7.1" @@ -155,18 +237,66 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "is-terminal" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.169" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" + +[[package]] +name = "log" +version = "0.4.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" + [[package]] name = "memchr" version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" + [[package]] name = "pathdiff" version = "0.2.3" @@ -239,6 +369,12 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "rustversion" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" + [[package]] name = "serde" version = "1.0.217" @@ -268,6 +404,25 @@ dependencies = [ "serde", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "stderrlog" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c910772f992ab17d32d6760e167d2353f4130ed50e796752689556af07dc6b" +dependencies = [ + "chrono", + "is-terminal", + "log", + "termcolor", + "thread_local", +] + [[package]] name = "strsim" version = "0.11.1" @@ -289,16 +444,36 @@ dependencies = [ name = "teascade-generator" version = "0.1.0" dependencies = [ - "ansi_term", "clap", + "log", "pathdiff", "pulldown-cmark", "regex", "serde", "serde_derive", + "stderrlog", "toml", ] +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + [[package]] name = "toml" version = "0.8.20" @@ -352,26 +527,80 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] -name = "winapi" -version = "0.3.4" +name = "wasm-bindgen" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "wasm-bindgen-backend" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "wasm-bindgen-macro" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] [[package]] name = "windows-sys" diff --git a/Cargo.toml b/Cargo.toml index 19fa4a2..f666d5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,8 +9,9 @@ edition = "2021" pulldown-cmark = "0.12.2" toml = "0.8.20" regex = "1.11.1" -ansi_term = "*" pathdiff = "0.2.3" clap = { version = "4.5.28", features = ["derive"] } serde = "1.0.217" serde_derive = "1.0.217" +stderrlog = "0.6.0" +log = "*" \ No newline at end of file diff --git a/src/builder.rs b/src/builder.rs index a0f3688..386e5f8 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -8,7 +8,7 @@ use pathdiff; use crate::config::Config; use crate::error::Error; use crate::file_writer; -use crate::logger::{LogLevel, Logger}; +use crate::logger::LogLevel; use crate::options::Options; use crate::renderer; use crate::template::Template; @@ -28,8 +28,8 @@ fn fetch_config() -> Result { } } -pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { - logger.log(LogLevel::INFO, "Starting build"); +pub fn build(opt: &Options) -> Result<(), Error> { + log::info!("Starting build"); let config = fetch_config()?; if config.global_config.website.use_default_css { @@ -42,7 +42,7 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { .output .unwrap_or("public".to_owned()), ); - logger.log(LogLevel::DETAIL, format!("Adding {:?}", css_path)); + log::debug!("Adding {:?}", css_path); file_writer::write_file(&css_path, DEFAULT_CSS, opt.overwrite)?; } @@ -56,11 +56,11 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { .output .unwrap_or("public".to_owned()), ); - logger.log(LogLevel::DETAIL, format!("Adding {:?}", js_path)); + log::debug!("Adding {:?}", js_path); file_writer::write_file(&js_path, DEFAULT_JS, opt.overwrite)?; } - logger.log(LogLevel::INFO, "Generating page templates"); + log::info!("Generating page templates"); let page_template = Template::new(PAGE_TEMPLATE); let css_tag_template = Template::new(CSS_TAG); let js_tag_template = Template::new(JS_TAG); @@ -69,22 +69,19 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { if config.global_config.navbar.is_some() { let navbar_item_template = Template::new(NAVBAR_ITEM); let navbar_image_item_template = Template::new(NAVBAR_IMAGE_ITEM); - logger.log(LogLevel::DETAIL, "Rendering Navbar"); + log::debug!("Rendering Navbar"); navbar_content = renderer::render_navbar(&config, navbar_item_template, navbar_image_item_template)?; } - logger.log(LogLevel::INFO, "Rendering"); + log::info!("Rendering"); let configs = config.get_configs()?; let mut renders = Vec::new(); for config in configs.clone() { - logger.log( - LogLevel::DETAILER, - format!("Setting up to render {}", config.page_config.page.html_path), - ); + log::trace!("Setting up to render {}", config.page_config.page.html_path); // Generate CSS tagstags - logger.log(LogLevel::DETAILER, "Generating CSS tags"); + log::trace!("Generating CSS tags"); let mut css_string = String::new(); let css_list = config.global_config.website.css.clone(); @@ -101,7 +98,7 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { } // Generate JS tags - logger.log(LogLevel::DETAILER, "Generating JS tags"); + log::trace!("Generating JS tags"); let mut js_string = String::new(); let js_list = config.global_config.website.javascript.clone(); @@ -118,11 +115,10 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { } // Generate and render Injections - logger.log(LogLevel::DETAILER, "Rendering injections."); - let (before_navbar, before_content, after_content) = - renderer::render_injections(&logger, &config)?; + log::trace!("Rendering injections."); + let (before_navbar, before_content, after_content) = renderer::render_injections(&config)?; - logger.log(LogLevel::DETAILER, "Rendering"); + log::trace!("Rendering"); let markdown = renderer::render_markdown_content(&config)?; let markdown = renderer::render_custom_markdown(markdown)?; @@ -139,13 +135,10 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { let rendered = page_template.render(&data); renders.push(rendered); - logger.log( - LogLevel::DETAIL, - format!("Rendered {}", config.page_config.page.html_path), - ); + log::debug!("Rendered {}", config.page_config.page.html_path); } - logger.log(LogLevel::INFO, "Writing"); + log::info!("Writing"); for (idx, config) in configs.clone().iter().enumerate() { let html_path = config.clone().page_config.page.html_path; let html_path = file_writer::add_to_beginning( @@ -157,7 +150,7 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { .output .unwrap_or("public".to_owned()), ); - logger.log(LogLevel::DETAIL, format!("Writing {:?}", html_path)); + log::debug!("Writing {:?}", html_path); if let Some(render) = renders.get(idx) { file_writer::write_file(&html_path, render.clone(), opt.overwrite)?; } else { @@ -168,7 +161,7 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { } } - logger.log(LogLevel::INFO, "Copying resources"); + log::info!("Copying resources"); if let Some(resources) = config.global_config.resources.clone() { for resource in resources.values() { let path = Path::new(&resource.source); @@ -187,19 +180,16 @@ pub fn build(logger: &Logger, opt: &Options) -> Result<(), Error> { PathBuf::from(resource.source.clone()), dest, ) { - Ok(_) => logger.log(LogLevel::DETAIL, "Resource successfully copied."), + Ok(_) => log::debug!("Resource successfully copied."), Err(err) => return Err(err), } } else { - logger.log( - LogLevel::WARNING, - format!("Resource does not exist: {:?}", path), - ); + log::warn!("Resource does not exist: {:?}", path); } } } - logger.log(LogLevel::INFO, "Done!"); + log::info!("Done!"); Ok(()) } diff --git a/src/logger.rs b/src/logger.rs index e8ae313..d8e9e97 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -1,28 +1,3 @@ -use ansi_term::Color::{Blue, Cyan, Red, Yellow}; - -pub struct Logger { - log_level: LogLevel, -} - -impl Logger { - pub fn new(log_level: LogLevel) -> Logger { - Logger { log_level } - } - - pub fn log>(&self, log_level: LogLevel, message: T) { - if self.log_level.clone() as i32 >= log_level.clone() as i32 { - match log_level { - LogLevel::QUIET => (), - LogLevel::SEVERE => eprintln!("{}: {}", Red.paint("[SEVERE]"), message.into()), - LogLevel::INFO => println!("{}: {}", Cyan.paint("[INFO]"), message.into()), - LogLevel::WARNING => println!("{}: {}", Yellow.paint("[WARNING]"), message.into()), - LogLevel::DETAIL => println!("{}: {}", Blue.paint("[DETAIL]"), message.into()), - LogLevel::DETAILER => println!("{}: {}", Blue.paint("[DETAILER]"), message.into()), - } - } - } -} - #[allow(dead_code)] #[derive(Clone, Debug)] #[repr(u8)] diff --git a/src/main.rs b/src/main.rs index 2970f8c..e7931cc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,7 +16,6 @@ use std::process::exit; use clap::Parser; use crate::config_toml::{GlobalConfigToml, NavbarConfig, NavbarItem, WebsiteConfig}; -use crate::logger::{LogLevel, Logger}; use crate::options::{Options, Subcommands}; //TODO: Custom markdown @@ -31,36 +30,39 @@ fn run() -> Result<(), ()> { let opt: Options = Options::parse(); let log_level = (3 - opt.quiet as i8 + opt.verbose as i8).max(0).min(5); - let logger = Logger::new(LogLevel::from(log_level as u8)); + + stderrlog::new() + .module(module_path!()) + .verbosity(log_level as usize) + .timestamp(stderrlog::Timestamp::Second) + .init() + .unwrap(); match opt.clone().cmd { - Subcommands::Build => match builder::build(&logger, &opt) { + Subcommands::Build => match builder::build(&opt) { Ok(_) => { - logger.log(LogLevel::DETAILER, "Building finished successfully."); + log::trace!("Building finished successfully."); Ok(()) } Err(err) => { - logger.log(err.severity(), err.description()); - logger.log(LogLevel::SEVERE, "Aborting building due to error."); + log::error!("{}", err.description()); + log::error!("Aborting building due to error."); Err(()) } }, - Subcommands::New(new_opt) => match new_page::generate_new_page(&logger, &opt, &new_opt) { + Subcommands::New(new_opt) => match new_page::generate_new_page(&opt, &new_opt) { Ok(_) => { - logger.log( - LogLevel::DETAILER, - "Generating the new page finished successfully.", - ); + log::trace!("Generating the new page finished successfully."); Ok(()) } Err(err) => { - logger.log(err.severity(), err.description()); - logger.log(LogLevel::SEVERE, "Aborting building due to error."); + log::error!("{}", err.description()); + log::error!("Aborting building due to error."); Err(()) } }, Subcommands::Initialize(init_opt) => { - logger.log(LogLevel::DETAIL, "Generating config.toml"); + log::debug!("Generating config.toml"); let mut navbar = None; if !init_opt.no_default_navbar { @@ -115,14 +117,11 @@ fn run() -> Result<(), ()> { match file_writer::write_toml(&PathBuf::from("config.toml"), &config, opt.overwrite) { Ok(_) => { - logger.log(LogLevel::INFO, "Done!"); + log::info!("Done!"); Ok(()) } Err(err) => { - logger.log( - err.severity(), - format!("Initialization failed: {}", err.description()), - ); + log::error!("Initialization failed: {}", err.description()); Err(()) } } diff --git a/src/new_page.rs b/src/new_page.rs index e62cfa8..1a8f52f 100644 --- a/src/new_page.rs +++ b/src/new_page.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; use crate::config_toml::{GlobalConfigToml, PageConfig, PageConfigToml}; use crate::error::Error; use crate::file_writer; -use crate::logger::{LogLevel, Logger}; +use crate::logger::LogLevel; use crate::options::{NewOpt, Options}; use pathdiff; @@ -16,11 +16,8 @@ This is the markdown file, where you will insert this page's contents. See [CommonMark](http://commonmark.org/help/) for reference."#; -pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Result<(), Error> { - logger.log( - LogLevel::DETAILER, - format!("Starting to create paths for given files"), - ); +pub fn generate_new_page(opt: &Options, new_opt: &NewOpt) -> Result<(), Error> { + log::trace!("Starting to create paths for given files"); let toml_path = ensure_extension(new_opt.toml_path.clone(), "toml", false)?; @@ -31,18 +28,13 @@ pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Re markdown_path = ensure_extension(toml_path.clone(), "md", true)?; } - logger.log( - LogLevel::INFO, - format!( - "Creating page config at {:?} and markdown at {:?}", - toml_path, markdown_path - ), + log::info!( + "Creating page config at {:?} and markdown at {:?}", + toml_path, + markdown_path ); - logger.log( - LogLevel::DETAIL, - format!("Creating a new .toml file at {:?}", toml_path), - ); + log::debug!("Creating a new .toml file at {:?}", toml_path); let html_path; if let Some(path) = new_opt.html_path.clone() { @@ -66,10 +58,7 @@ pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Re } } - logger.log( - LogLevel::DETAILER, - format!("Generating page config.toml contents"), - ); + log::trace!("Generating page config.toml contents"); let page_config = PageConfigToml { page: PageConfig { @@ -87,10 +76,7 @@ pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Re }; match file_writer::write_toml(&toml_path, &page_config, opt.overwrite) { - Ok(_) => logger.log( - LogLevel::INFO, - format!("{:?} created successfully", toml_path), - ), + Ok(_) => log::info!("{:?} created successfully", toml_path), Err(err) => { return Err(Error::new( err.severity(), @@ -99,10 +85,7 @@ pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Re } } - logger.log( - LogLevel::DETAIL, - format!("Creating a new .md file at {:?}", markdown_path), - ); + log::debug!("Creating a new .md file at {:?}", markdown_path); file_writer::write_file(&markdown_path, PLACEHOLDER_MARKDOWN, opt.overwrite)?; @@ -111,20 +94,14 @@ pub fn generate_new_page(logger: &Logger, opt: &Options, new_opt: &NewOpt) -> Re return Err(Error::new(LogLevel::SEVERE, "Add --overwrite flag to overwrite config.toml, or --no-modify-config to not modify config.toml automatically.")); } - logger.log( - LogLevel::INFO, - format!("Adding page config path to config.toml"), - ); + log::info!("Adding page config path to config.toml"); let mut config = GlobalConfigToml::get_config()?; config .website .built_pages .push(toml_path.to_str().unwrap().to_owned()); - logger.log( - LogLevel::DETAIL, - format!("Re-serializing config and writing it"), - ); + log::debug!("Re-serializing config and writing it"); match file_writer::write_toml(&PathBuf::from("config.toml"), &config, opt.overwrite) { Ok(_) => {} diff --git a/src/renderer.rs b/src/renderer.rs index 2dce806..b0277b0 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -8,7 +8,7 @@ use regex::{Captures, Regex}; use crate::config::{Config, SinglePageConfigs}; use crate::config_toml::InjectionToml; use crate::error::Error; -use crate::logger::{LogLevel, Logger}; +use crate::logger::LogLevel; use crate::template::Template; fn get_file_contents(path: Option) -> Result { @@ -28,10 +28,7 @@ fn get_file_contents(path: Option) -> Result { } } -pub fn render_injections( - logger: &Logger, - config: &SinglePageConfigs, -) -> Result<(String, String, String), Error> { +pub fn render_injections(config: &SinglePageConfigs) -> Result<(String, String, String), Error> { let before_navbar_url = match config.page_config.page.before_navbar_url.clone() { Some(url) => Some(url), None => config.global_config.website.before_navbar_url.clone(), @@ -48,21 +45,21 @@ pub fn render_injections( let before_navbar = match get_file_contents(before_navbar_url) { Ok(content) => content, Err(error) => { - logger.log(error.severity(), error.description()); + log::error!("{}", error.description()); String::new() } }; let before_content = match get_file_contents(before_content_url) { Ok(content) => content, Err(error) => { - logger.log(error.severity(), error.description()); + log::error!("{}", error.description()); String::new() } }; let after_content = match get_file_contents(after_content_url) { Ok(content) => content, Err(error) => { - logger.log(error.severity(), error.description()); + log::error!("{}", error.description()); String::new() } };