X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/1e2d00b62ecce95f71d4bfd60a043c8e86631eee..68fa37d61babe8d990ace5f9cb5a7de81eb57ea0:/src/file_handler/file_strategies/layout.rs diff --git a/src/file_handler/file_strategies/layout.rs b/src/file_handler/file_strategies/layout.rs index e69de29..793b460 100644 --- a/src/file_handler/file_strategies/layout.rs +++ b/src/file_handler/file_strategies/layout.rs @@ -0,0 +1,26 @@ +pub struct Strategy {} + +use std::path::PathBuf; + +use crate::file_handler::{File, FileType, FileHandlerStrategy}; + +impl FileHandlerStrategy for Strategy { + fn is(&self, path: &PathBuf) -> bool { + return !path.is_dir() && path.ends_with("_layout.html"); + } + + fn identify(&self) -> FileType { + FileType::Layout + } + + fn can_handle(&self, file_type: &FileType) -> bool { + match file_type { + FileType::Layout => true, + _ => false, + } + } + + // We don't implement handling for layout, as we assume there's only one + // and it got handled before. + fn handle(&self, _s: &PathBuf, _d: &PathBuf, _f: &File, _l: &String) {} +}