From 249323a6009a35dd2e77be794ed45b5f1cf4263f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 9 Nov 2022 13:56:37 +0200 Subject: refactor: directive processing returns Processed value Sponsored-by: author --- src/directive/calendar.rs | 4 ++-- src/directive/format.rs | 4 ++-- src/directive/graph.rs | 4 ++-- src/directive/img.rs | 6 +++--- src/directive/inline.rs | 6 +++--- src/directive/map.rs | 4 ++-- src/directive/meta.rs | 6 +++--- src/directive/mod.rs | 7 +++---- src/directive/pagestats.rs | 4 ++-- src/directive/shortcut.rs | 6 +++--- src/directive/sidebar.rs | 4 ++-- src/directive/table.rs | 6 +++--- src/directive/tag.rs | 6 +++--- src/directive/toc.rs | 4 ++-- src/directive/traillink.rs | 4 ++-- 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, site: &Site, meta: &mut PageMeta) -> Result { trace!( "verify image exists: {} on {}", self.src, @@ -121,7 +121,7 @@ impl DirectiveImplementation for Img { img.push_str(""); } - 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 { + fn process(&self, site: &Site, meta: &mut PageMeta) -> Result { let pagespec = PageSpec::new(meta.path(), &self.pages)?; let matches: Vec = 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, _site: &Site, meta: &mut PageMeta) -> Result { 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; + fn process(&self, site: &Site, meta: &mut PageMeta) -> Result; 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 { - 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { - Ok("".into()) + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { + 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { - Ok("".into()) + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { + 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { 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 { + fn process(&self, _site: &Site, _meta: &mut PageMeta) -> Result { Err(SiteError::UnimplementedDirective("traillink".into())) } } -- cgit v1.2.1