setu-cli 0.1.6

A quick markdown link checker
Documentation
use std::{
    fs::{self},
    path::{Path, PathBuf},
};

pub fn get_markdowns(target_path: &str) -> Vec<PathBuf> {
    let path = Path::new(target_path).to_path_buf();

    if path.is_file() && is_markdown(&path) {
        return vec![path];
    }

    fs::read_dir(target_path)
        .map(|read_dir| {
            read_dir
                .flatten()
                .filter(|entry| is_markdown(&entry.path()))
                .map(|entry| entry.path())
                .collect()
        })
        .unwrap_or_else(|_| Vec::new())
}

pub fn is_markdown(path: &PathBuf) -> bool {
    path.extension()
        .map(|ext| ext == "md" || ext == "markdown")
        .unwrap_or(false)
}