pub fn extract_img_markers(text: &str) -> (String, Vec<String>) {
let mut out = text.to_string();
let mut paths = Vec::new();
while let Some(start) = out.find("<<IMG:") {
let Some(rel_end) = out[start..].find(">>") else {
break;
};
let end = start + rel_end + 2; let path = out[start + 6..start + rel_end].trim().to_string();
if !path.is_empty() {
paths.push(path);
}
out.replace_range(start..end, "");
}
(out.trim().to_string(), paths)
}