Use templates
All checks were successful
run check / cargo check (push) Successful in 3m53s

This commit is contained in:
viridian 2024-03-31 21:06:26 +02:00
parent 21961c505a
commit cb957dbe14
Signed by: viridian
GPG key ID: DCD4DF95CE23FE8C
2 changed files with 18 additions and 1 deletions

2
.gitignore vendored
View file

@ -1 +1,3 @@
/target
/templates
test_md.md

View file

@ -2,6 +2,7 @@ use markdown::{to_html_with_options, CompileOptions, Options};
use regex::Regex;
use std::collections::HashMap;
use std::{env, fs::read_to_string};
use tera::{Tera, Context};
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() < 2 {
@ -10,6 +11,9 @@ fn main() {
let mut markdown = read_to_string(args.get(1).unwrap()).expect("File does not exist");
let mut tera = Tera::new("templates/*").unwrap();
tera.autoescape_on(vec![]);
let re_key_value = Regex::new(r"(?ms)---(.*)---(?:\n)").unwrap();
let binding_markdown = markdown.clone();
@ -42,6 +46,7 @@ fn main() {
);
}
let html_markdown = to_html_with_options(
&markdown,
&Options {
@ -55,5 +60,15 @@ fn main() {
)
.unwrap();
println!("{}", html_markdown)
key_value.insert("blog_content", &html_markdown);
let context = Context::from_serialize(key_value).unwrap();
let output = tera.render("blog.html", &context).unwrap();
println!("{output}");
}