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}