use lazy_static::lazy_static;
use regex::Regex;
lazy_static! {
static ref REG_PREAMBLE: Regex = Regex::new(r"^---([\s\S]+)---").unwrap();
}
pub fn split_preamble(content: &str) -> (Option<String>, String) {
if let Some(captures) = REG_PREAMBLE.captures(content.trim()) {
if let Some(preamble_raw_content) = captures.get(0) {
let mut preamble_content = preamble_raw_content.as_str();
if preamble_content.contains("---") {
let split: Vec<&str> = preamble_content.split("---").collect();
if split.len() > 0 {
preamble_content = split[1];
}
}
let mut markdown_bare = content.replace(preamble_content, "");
markdown_bare = markdown_bare.trim().trim_start_matches("---").to_string();
return (Some(preamble_content.to_string()), markdown_bare);
}
}
return (None, content.to_string());
}