pub fn parse_markdown(
state: MarkdownParserState,
input: &str,
) -> Result<Document, Err<Error<&str>>>Expand description
Parse a Markdown string into an Abstract Syntax Tree (AST)
This is the main entry point for parsing Markdown text. It processes the input according to the CommonMark specification with GitHub Flavored Markdown extensions, returning a fully-typed AST that can be manipulated, analyzed, or rendered.
§Arguments
state- Parser state containing configuration optionsinput- The Markdown text to parse
§Returns
Returns a Result containing either:
Ok(Document)- Successfully parsed AST documentErr(nom::Err)- Parse error with position and context information
§Examples
Basic parsing:
use markdown_ppp::parser::{parse_markdown, MarkdownParserState};
let state = MarkdownParserState::new();
let result = parse_markdown(state, "# Hello\n\nWorld!");
match result {
Ok(doc) => println!("Parsed {} blocks", doc.blocks.len()),
Err(e) => eprintln!("Parse error: {:?}", e),
}With custom configuration:
use markdown_ppp::parser::{parse_markdown, MarkdownParserState};
use markdown_ppp::parser::config::*;
let config = MarkdownParserConfig::default()
.with_block_thematic_break_behavior(ElementBehavior::Skip);
let state = MarkdownParserState::with_config(config);
let doc = parse_markdown(state, "---\n\nContent").unwrap();§Errors
Returns a parse error if the input contains invalid Markdown syntax that cannot be recovered from. Most malformed Markdown is handled gracefully according to CommonMark’s error handling rules.