use comrak::{markdown_to_html, Options};
use crate::config::{MarkdownOptions, PdfConfig};
use crate::error::Result;
fn build_comrak_options(md_opts: &MarkdownOptions) -> Options {
let mut opts = Options::default();
opts.render.r#unsafe = md_opts.unsafe_html;
opts.extension.table = md_opts.tables;
opts.extension.footnotes = md_opts.footnotes;
opts.extension.description_lists = md_opts.description_lists;
opts.extension.strikethrough = md_opts.strikethrough;
opts.extension.tasklist = md_opts.tasklist;
opts.extension.autolink = md_opts.autolink;
opts.extension.superscript = md_opts.superscript;
opts
}
pub fn markdown_to_body_html(md: &str, config: &PdfConfig) -> Result<String> {
let comrak_opts = build_comrak_options(&config.markdown_options);
let html = markdown_to_html(md, &comrak_opts);
Ok(html)
}