From 233ea76204ea5bc9a7d8f12816a9525b7a732bc5 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Wed, 2 Dec 2020 16:16:58 -0500 Subject: add webmention support (#274) * add webmention support Signed-off-by: Christine Dodrill * add webmention integration post Signed-off-by: Christine Dodrill --- src/app/mod.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/app') diff --git a/src/app/mod.rs b/src/app/mod.rs index c18e121..7cb0044 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -16,6 +16,8 @@ pub struct Config { pub(crate) resume_fname: PathBuf, #[serde(rename = "webMentionEndpoint")] pub(crate) webmention_url: String, + #[serde(rename = "miToken")] + pub(crate) mi_token: String, } #[instrument] @@ -58,6 +60,7 @@ pub struct State { pub jf: jsonfeed::Feed, pub sitemap: Vec, pub patrons: Option, + pub mi: mi::Client, } pub async fn init(cfg: PathBuf) -> Result { @@ -65,9 +68,10 @@ pub async fn init(cfg: PathBuf) -> Result { let sb = cfg.signalboost.clone(); let resume = fs::read_to_string(cfg.resume_fname.clone())?; let resume: String = markdown::render(&resume)?; - let blog = crate::post::load("blog")?; - let gallery = crate::post::load("gallery")?; - let talks = crate::post::load("talks")?; + let mi = mi::Client::new(cfg.mi_token.clone(), crate::APPLICATION_NAME.to_string())?; + let blog = crate::post::load("blog", Some(&mi)).await?; + let gallery = crate::post::load("gallery", None).await?; + let talks = crate::post::load("talks", None).await?; let mut everything: Vec = vec![]; { @@ -122,6 +126,7 @@ pub async fn init(cfg: PathBuf) -> Result { urlwriter.end()?; Ok(State { + mi: mi, cfg: cfg, signalboost: sb, resume: resume, -- cgit v1.2.3