diff options
| author | gennyble <gen@nyble.dev> | 2026-10-01 02:29:03 -0500 |
|---|---|---|
| committer | gennyble <gen@nyble.dev> | 2026-10-01 02:29:03 -0500 |
| commit | ffc831fa44274d4fd6cb9c30fa34e25e590cff44 (patch) | |
| tree | 97ec56af8efca04b2c19fcd80ff9d72cb86678d2 /splorm/src/handler/quark/mod.rs | |
| parent | 7513c3f9067a0916786bf8f852432d17d5db4f1e (diff) | |
splorm: opengraph using frontmatter
Diffstat (limited to 'splorm/src/handler/quark/mod.rs')
| -rw-r--r-- | splorm/src/handler/quark/mod.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/splorm/src/handler/quark/mod.rs b/splorm/src/handler/quark/mod.rs index 815bf2b..f7160d4 100644 --- a/splorm/src/handler/quark/mod.rs +++ b/splorm/src/handler/quark/mod.rs @@ -6,6 +6,8 @@ mod api; pub mod index; mod markup; +pub use markup::PageFrontmatter; + use std::{str::FromStr, sync::Arc}; use axum::{ @@ -28,7 +30,7 @@ use crate::{ config::Settings, extractor::Wrap, fs::{self, RequestPath, SafePath}, - handler::temporary_redirect, + handler::{quark::markup::Source, temporary_redirect}, state::SplormState, }; @@ -144,14 +146,19 @@ async fn page_edit( let edit = fs::read_file_to_string(rp.system_path()).await?; let mut page_template = open_template(&edit, rp.system_path(), &settings).await?; - let src = match wik.source(&page).await { + let src = match Source::from_wik(wik, &page).await { //FIXME: Make a variant for unfound wiki pages Err(_e) => return Err(RuntimeError::Generic404), Ok(src) => src, }; page_template.set("page-editing", page); - page_template.set("page-content", src.data); + page_template.set("page-content", src.content()); + + match src.frontmatter().description() { + Some(desc) => page_template.set("og-description", desc), + None => page_template.set("og-description", ""), + } template.set("mainClass", "main-create"); template.set("quarkForm", "true"); |
