From 0e276d039b8613de0cbd302bf328bb660ab063b6 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 26 Feb 2024 11:44:11 +0000 Subject: Add blog status, correctly shift --- src/command/status/blog_status.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/command/status/blog_status.rs (limited to 'src/command/status/blog_status.rs') diff --git a/src/command/status/blog_status.rs b/src/command/status/blog_status.rs new file mode 100644 index 0000000..df5256e --- /dev/null +++ b/src/command/status/blog_status.rs @@ -0,0 +1,24 @@ +use std::fs::read_dir; +use std::path::PathBuf; +use crate::configuration::Configuration; + +pub fn status(configuration: &Configuration) -> String { + let mut status_message = String::new(); + + status_message.push_str("# Blog\n"); + + // Main Configuration Locations + let blog_count = count_entries(&configuration.posts_directory); + status_message.push_str(&format!("Number of posts in blog: {}\n", blog_count)); + + let archive_count = count_entries(&configuration.archive_directory); + status_message.push_str(&format!("Number of posts in archive: {}\n", archive_count)); + status_message +} + +fn count_entries(path: &PathBuf) -> String { + match read_dir(path) { + Ok(entries) => entries.filter_map(Result::ok).count().to_string(), + Err(_) => "0".to_string() + } +} -- cgit