diff options
Diffstat (limited to 'src/page.rs')
-rw-r--r-- | src/page.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/page.rs b/src/page.rs index d84721c..453c29b 100644 --- a/src/page.rs +++ b/src/page.rs @@ -30,6 +30,7 @@ pub enum PageError { Parser(#[from] crate::parser::ParserError), } +#[derive(Debug)] pub struct Page { meta: PageMeta, unprocessed: UnprocessedPage, @@ -193,6 +194,7 @@ pub struct PageMeta { name: Name, title: Option<String>, mtime: SystemTime, + links_to: Vec<PathBuf>, } impl PageMeta { @@ -203,7 +205,12 @@ impl PageMeta { title, mtime, ); - Self { name, title, mtime } + Self { + name, + title, + mtime, + links_to: vec![], + } } pub fn destination_filename(&self) -> PathBuf { @@ -234,6 +241,14 @@ impl PageMeta { pub fn set_mtime(&mut self, mtime: SystemTime) { self.mtime = mtime; } + + pub fn add_link(&mut self, path: &Path) { + self.links_to.push(path.into()); + } + + pub fn links_to(&self) -> &[PathBuf] { + &self.links_to + } } #[derive(Debug, Default)] |