lib/render/utils.rs
1//! Defines utilities for working with templates.
2
3use walkdir::DirEntry;
4
5/// Helper function for [`walkdir`][walkdir]. Filter "hidden" entries e.g. `.hidden`.
6///
7/// [walkdir]: https://docs.rs/walkdir/latest/walkdir/
8#[must_use]
9pub fn is_hidden(entry: &DirEntry) -> bool {
10 entry
11 .file_name()
12 .to_str()
13 .map_or(false, |s| !s.starts_with('.'))
14}
15
16/// Helper function for [`walkdir`][walkdir]. Filter normal templates.
17///
18/// [walkdir]: https://docs.rs/walkdir/latest/walkdir/
19#[must_use]
20pub fn is_normal_template(entry: &DirEntry) -> bool {
21 entry
22 .file_name()
23 .to_str()
24 .map_or(false, |s| !s.starts_with('_'))
25}
26
27/// Helper function for [`walkdir`][walkdir]. Filter partial templates.
28///
29/// [walkdir]: https://docs.rs/walkdir/latest/walkdir/
30#[must_use]
31pub fn is_partial_template(entry: &DirEntry) -> bool {
32 entry
33 .file_name()
34 .to_str()
35 .map_or(false, |s| s.starts_with('_'))
36}