diff options
Diffstat (limited to 'htmlua-parser/src/serve.rs')
| -rw-r--r-- | htmlua-parser/src/serve.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/htmlua-parser/src/serve.rs b/htmlua-parser/src/serve.rs index eb9a043..981cdf6 100644 --- a/htmlua-parser/src/serve.rs +++ b/htmlua-parser/src/serve.rs @@ -1,10 +1,9 @@ +use crate::helpers::read_doc_from_file; + use super::render::{execute_lua, expand_template, process_markdown}; use anyhow::Result; -use kuchikiki::traits::TendrilSink; -use std::{ - fs::read_to_string, - path::{Path, PathBuf}, -}; +use std::path::{Path, PathBuf} +; pub fn serve_content(request_uri: &str) -> Result<String> { // TODO: read from config @@ -12,8 +11,9 @@ pub fn serve_content(request_uri: &str) -> Result<String> { 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 doc = read_doc_from_file(page_path)?; + let full_doc = expand_template(doc, &components, None)?; let markdown_doc = process_markdown(full_doc)?; let executed_doc = execute_lua(markdown_doc)?; |
