summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-11-09 13:56:37 +0200
committerLars Wirzenius <liw@liw.fi>2022-11-09 13:56:37 +0200
commit249323a6009a35dd2e77be794ed45b5f1cf4263f (patch)
treef8e9eb53b91638070a7aab920bffb6f38c2f93ba
parent3421ef66def1b0ad140a11fa35f101d8eaf4934d (diff)
downloadriki-249323a6009a35dd2e77be794ed45b5f1cf4263f.tar.gz
refactor: directive processing returns Processed value
Sponsored-by: author
-rw-r--r--src/directive/calendar.rs4
-rw-r--r--src/directive/format.rs4
-rw-r--r--src/directive/graph.rs4
-rw-r--r--src/directive/img.rs6
-rw-r--r--src/directive/inline.rs6
-rw-r--r--src/directive/map.rs4
-rw-r--r--src/directive/meta.rs6
-rw-r--r--src/directive/mod.rs7
-rw-r--r--src/directive/pagestats.rs4
-rw-r--r--src/directive/shortcut.rs6
-rw-r--r--src/directive/sidebar.rs4
-rw-r--r--src/directive/table.rs6
-rw-r--r--src/directive/tag.rs6
-rw-r--r--src/directive/toc.rs4
-rw-r--r--src/directive/traillink.rs4
15 files changed, 37 insertions, 38 deletions
diff --git a/src/directive/calendar.rs b/src/directive/calendar.rs
index a3d199a..f29aaf9 100644
--- a/src/directive/calendar.rs
+++ b/src/directive/calendar.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -24,7 +24,7 @@ impl DirectiveImplementation for Calendar {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("calendar".into()))
}
}
diff --git a/src/directive/format.rs b/src/directive/format.rs
index f76ba9a..66741ff 100644
--- a/src/directive/format.rs
+++ b/src/directive/format.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for Format {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("format".into()))
}
}
diff --git a/src/directive/graph.rs b/src/directive/graph.rs
index e7ae5fe..ae90050 100644
--- a/src/directive/graph.rs
+++ b/src/directive/graph.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for Graph {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("graph".into()))
}
diff --git a/src/directive/img.rs b/src/directive/img.rs
index 29efe0c..8b74e5e 100644
--- a/src/directive/img.rs
+++ b/src/directive/img.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -82,7 +82,7 @@ impl DirectiveImplementation for Img {
img
}
- fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<Processed, SiteError> {
trace!(
"verify image exists: {} on {}",
self.src,
@@ -121,7 +121,7 @@ impl DirectiveImplementation for Img {
img.push_str("</a>");
}
- Ok(img)
+ Ok(Processed::Markdown(img))
}
}
diff --git a/src/directive/inline.rs b/src/directive/inline.rs
index 0dafa69..9ddeef4 100644
--- a/src/directive/inline.rs
+++ b/src/directive/inline.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::pagespec::PageSpec;
@@ -38,7 +38,7 @@ impl DirectiveImplementation for Inline {
Inline::new(pages.to_string())
}
- fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<Processed, SiteError> {
let pagespec = PageSpec::new(meta.path(), &self.pages)?;
let matches: Vec<String> = site
.markdown_pages()
@@ -46,7 +46,7 @@ impl DirectiveImplementation for Inline {
.filter(|page| pagespec.matches(site, page.meta().path()))
.map(|page| format!("* {}\n", Self::link(meta.path(), page.meta())))
.collect();
- Ok(matches.join(""))
+ Ok(Processed::Markdown(matches.join("")))
}
}
diff --git a/src/directive/map.rs b/src/directive/map.rs
index 009bf64..e468aad 100644
--- a/src/directive/map.rs
+++ b/src/directive/map.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for Map {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("map".into()))
}
}
diff --git a/src/directive/meta.rs b/src/directive/meta.rs
index 1e8ec8c..882288b 100644
--- a/src/directive/meta.rs
+++ b/src/directive/meta.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -28,14 +28,14 @@ impl DirectiveImplementation for Meta {
meta
}
- fn process(&self, _site: &Site, meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, meta: &mut PageMeta) -> Result<Processed, SiteError> {
if let Some(title) = &self.title {
meta.set_title(title.into());
}
if let Some(mtime) = &self.date {
meta.set_mtime(parse_timestamp(mtime)?);
}
- Ok("".into())
+ Ok(Processed::Markdown("".into()))
}
}
diff --git a/src/directive/mod.rs b/src/directive/mod.rs
index e885404..c8fe1f7 100644
--- a/src/directive/mod.rs
+++ b/src/directive/mod.rs
@@ -16,7 +16,7 @@ pub trait DirectiveImplementation {
const ALLOW_ANY_UNNAMED: bool;
fn from_parsed(p: &ParsedDirective) -> Self;
- fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<String, SiteError>;
+ fn process(&self, site: &Site, meta: &mut PageMeta) -> Result<Processed, SiteError>;
fn prepare(&self, _site: &mut Site) -> Result<(), SiteError> {
Ok(())
@@ -222,7 +222,7 @@ impl Directive {
}
pub fn process(&self, site: &mut Site, meta: &mut PageMeta) -> Result<Processed, SiteError> {
- let markdown = match self {
+ match self {
Self::Simple
| Self::UnnamedArg
| Self::SimpleArg
@@ -244,8 +244,7 @@ impl Directive {
Self::Tag(x) => x.process(site, meta),
Self::Toc(x) => x.process(site, meta),
Self::TrailLink(x) => x.process(site, meta),
- };
- Ok(Processed::Markdown(markdown?))
+ }
}
}
diff --git a/src/directive/pagestats.rs b/src/directive/pagestats.rs
index 08df39d..11edc29 100644
--- a/src/directive/pagestats.rs
+++ b/src/directive/pagestats.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for PageStats {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("pagestat".into()))
}
}
diff --git a/src/directive/shortcut.rs b/src/directive/shortcut.rs
index fa3f783..48bc482 100644
--- a/src/directive/shortcut.rs
+++ b/src/directive/shortcut.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::{Shortcut as S, Site};
@@ -30,8 +30,8 @@ impl DirectiveImplementation for Shortcut {
Ok(())
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
- Ok("".into())
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
+ Ok(Processed::Markdown("".into()))
}
}
diff --git a/src/directive/sidebar.rs b/src/directive/sidebar.rs
index a13292c..1c25144 100644
--- a/src/directive/sidebar.rs
+++ b/src/directive/sidebar.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for Sidebar {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("sidebar".into()))
}
}
diff --git a/src/directive/table.rs b/src/directive/table.rs
index b11a39f..2bbfbc8 100644
--- a/src/directive/table.rs
+++ b/src/directive/table.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -19,7 +19,7 @@ impl DirectiveImplementation for Table {
Self::new(p.args().get("data").unwrap().to_string())
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
let mut table = String::new();
let mut lines = self.data.trim().lines();
if let Some(first) = lines.next() {
@@ -37,7 +37,7 @@ impl DirectiveImplementation for Table {
}
debug!("table data: {}", self.data);
debug!("table: {}", table);
- Ok(table)
+ Ok(Processed::Markdown(table))
}
}
diff --git a/src/directive/tag.rs b/src/directive/tag.rs
index 07c92ea..6d4377d 100644
--- a/src/directive/tag.rs
+++ b/src/directive/tag.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -19,8 +19,8 @@ impl DirectiveImplementation for Tag {
Tag::new(tags)
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
- Ok("".into())
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
+ Ok(Processed::Markdown("".into()))
}
}
diff --git a/src/directive/toc.rs b/src/directive/toc.rs
index ff03b0b..e00cb24 100644
--- a/src/directive/toc.rs
+++ b/src/directive/toc.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for Toc {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("toc".into()))
}
}
diff --git a/src/directive/traillink.rs b/src/directive/traillink.rs
index 492f009..b3e8cb7 100644
--- a/src/directive/traillink.rs
+++ b/src/directive/traillink.rs
@@ -1,4 +1,4 @@
-use crate::directive::DirectiveImplementation;
+use crate::directive::{DirectiveImplementation, Processed};
use crate::error::SiteError;
use crate::page::PageMeta;
use crate::site::Site;
@@ -16,7 +16,7 @@ impl DirectiveImplementation for TrailLink {
Self::default()
}
- fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<String, SiteError> {
+ fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result<Processed, SiteError> {
Err(SiteError::UnimplementedDirective("traillink".into()))
}
}