use pandoc_ast::Attr; /// Is a code block marked as being of a given type? pub fn is_class(attr: &Attr, class: &str) -> bool { let (_id, classes, _kvpairs) = attr; classes.iter().any(|s| s == class) } /// Utility function to find key/value pairs from an attribute pub fn find_attr_kv<'a>(attr: &'a Attr, key: &'static str) -> impl Iterator { attr.2.iter().flat_map(move |(key_, value)| { if key == key_ { Some(value.as_ref()) } else { None } }) } /// Get the filename for a fenced code block tagged .file. /// /// The filename is the first (and presumably only) identifier for the /// block. pub fn get_filename(attr: &Attr) -> String { attr.0.to_string() }