diff options
| author | Quin <trypsynth@gmail.com> | 2025-07-05 22:04:27 -0600 |
|---|---|---|
| committer | Quin <trypsynth@gmail.com> | 2025-07-05 22:04:27 -0600 |
| commit | 8e25531af188b89acd9f3283b6925f06789248af (patch) | |
| tree | dbd03b3c16510d109ff7b0ea8f952afdc12dd85e /htmlua-parser/src/serve.rs | |
| parent | 88b22b4e774c00344f8dad2d9eda6e1ff0491a6e (diff) | |
Added support for <markdown>. Closes #4.
Diffstat (limited to 'htmlua-parser/src/serve.rs')
| -rw-r--r-- | htmlua-parser/src/serve.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/htmlua-parser/src/serve.rs b/htmlua-parser/src/serve.rs index 1dfd306..eb9a043 100644 --- a/htmlua-parser/src/serve.rs +++ b/htmlua-parser/src/serve.rs @@ -1,24 +1,21 @@ -use super::render::execute_lua; -use super::render::expand_template; +use super::render::{execute_lua, expand_template, process_markdown}; use anyhow::Result; use kuchikiki::traits::TendrilSink; -use std::fs::read_to_string; -use std::path::{Path, PathBuf}; +use std::{ + fs::read_to_string, + path::{Path, PathBuf}, +}; pub fn serve_content(request_uri: &str) -> Result<String> { // TODO: read from config let pages = PathBuf::from("/var/www/htmlua/pages"); let components = PathBuf::from("/var/www/htmlua/components"); - let safe_path = Path::new(request_uri).strip_prefix("/")?; let page_path = pages.join(safe_path); - let page_string = read_to_string(&page_path)?; - let doc = kuchikiki::parse_html().one(page_string); let full_doc = expand_template(doc, &components, None)?; - - let executed_doc = execute_lua(full_doc)?; - + let markdown_doc = process_markdown(full_doc)?; + let executed_doc = execute_lua(markdown_doc)?; Ok(executed_doc.to_string()) } |
