X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/1e2d00b62ecce95f71d4bfd60a043c8e86631eee..6a8515fe6ed81369badb51496699a2ff25dbfa9f:/src/file_handler/file_strategies/layout.rs?ds=sidebyside diff --git a/src/file_handler/file_strategies/layout.rs b/src/file_handler/file_strategies/layout.rs index e69de29..f51bf7a 100644 --- a/src/file_handler/file_strategies/layout.rs +++ b/src/file_handler/file_strategies/layout.rs @@ -0,0 +1,27 @@ +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_html(&self, _s: &PathBuf, _d: &PathBuf, _f: &File, _l: &String) {} + fn handle_gemini(&self, _s: &PathBuf, _d: &PathBuf, _f: &File) {} +}