pub fn split_yaml_frontmatter(content: &str) -> anyhow::Result<(&str, &str)> {
let content = content.trim_start();
if !content.starts_with("---") {
anyhow::bail!("missing YAML frontmatter delimiter (---)");
}
let after_first = content[3..].trim_start_matches(['\n', '\r']);
let mut pos = 0;
for line in after_first.lines() {
if line.trim() == "---" {
let frontmatter = &after_first[..pos].trim_end();
let body_start = pos + line.len();
let body = after_first[body_start..].trim_start_matches(['\n', '\r']);
return Ok((frontmatter, body));
}
pos += line.len() + 1; }
anyhow::bail!("missing closing YAML frontmatter delimiter (---)")
}