pub fn source_id(path: &str) -> String
A source id: the path, lowercased, with every run of other characters turned into one hyphen.