summaryrefslogtreecommitdiff
path: root/src/page.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/page.rs')
-rw-r--r--src/page.rs17
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)]