Make get_all_orphan_pages more idiomatic

This commit is contained in:
Thomas Hurst 2018-09-13 00:23:49 +01:00
parent 2d7315676b
commit 34d17e613d

View file

@ -149,20 +149,15 @@ impl Site {
/// Get all the orphan (== without section) pages in the site /// Get all the orphan (== without section) pages in the site
pub fn get_all_orphan_pages(&self) -> Vec<&Page> { pub fn get_all_orphan_pages(&self) -> Vec<&Page> {
let mut pages_in_sections = HashSet::new(); let pages_in_sections = self.sections
let mut orphans = vec![]; .values()
.flat_map(|s| s.all_pages_path())
.collect::<HashSet<_>>();
for s in self.sections.values() { self.pages
pages_in_sections.extend(s.all_pages_path()); .values()
} .filter(|page| !pages_in_sections.contains(&page.file.path))
.collect()
for page in self.pages.values() {
if !pages_in_sections.contains(&page.file.path) {
orphans.push(page);
}
}
orphans
} }
pub fn set_base_url(&mut self, base_url: String) { pub fn set_base_url(&mut self, base_url: String) {