diff options
Diffstat (limited to 'src/blog.rs')
-rw-r--r-- | src/blog.rs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/blog.rs b/src/blog.rs index a1586f8..8c3af52 100644 --- a/src/blog.rs +++ b/src/blog.rs @@ -1,8 +1,7 @@ +use crate::assets::{BlogEntry, IndexTemplate, PostAsset, PostTemplate, ProjectsAsset, ProjectsTemplate}; use pulldown_cmark::{html, Options, Parser}; use sailfish::TemplateOnce; use std::str; -use crate::assets::{BlogEntry, PostAsset, IndexTemplate, PostTemplate}; - pub fn read_assets() -> Vec<BlogEntry> { let mut entries: Vec<BlogEntry> = PostAsset::iter() @@ -26,6 +25,24 @@ fn get_file_content(path: &str) -> String { return html_output.to_string(); } +fn get_projects_content() -> String { + let buffer = ProjectsAsset::get("index.md").unwrap().data.into_owned(); + let md = String::from_utf8(buffer).unwrap(); + let mut options = Options::empty(); + options.insert(Options::ENABLE_FOOTNOTES); + let parser = Parser::new_ext(&md, options); + let mut html_output = &mut String::new(); + html::push_html(&mut html_output, parser); + return html_output.to_string(); +} + +pub fn render_projects() -> String { + ProjectsTemplate { + content: get_projects_content(), + } + .render_once() + .unwrap() +} pub fn render_post_page(path: &String) -> String { let blog = BlogEntry::new(path); |