Skip to main content

parse_from_file

Function parse_from_file 

Source
pub fn parse_from_file(
    path: &str,
    output_path: &str,
) -> Result<(), Box<dyn Error>>
Expand description

Parse Markdown from a file and write rendered HTML to another file using GFM.

In GFM mode, if Mermaid chart blocks are detected, a Mermaid runtime bootstrap script is appended so charts can render when opening the output file in a browser.

ยงExamples

use std::time::{SystemTime, UNIX_EPOCH};
use umark_lib::parse_from_file;

let suffix = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_nanos();
let mut input = std::env::temp_dir();
let mut output = std::env::temp_dir();
input.push(format!("umark_parse_input_{suffix}.md"));
output.push(format!("umark_parse_output_{suffix}.html"));

std::fs::write(&input, "# Title").unwrap();
parse_from_file(input.to_str().unwrap(), output.to_str().unwrap()).unwrap();

let html = std::fs::read_to_string(&output).unwrap();
assert!(html.contains("<h1>Title</h1>"));

let _ = std::fs::remove_file(&input);
let _ = std::fs::remove_file(&output);