Implement the primary entry point types for parsing Markdown files.
Scope
MarkdownDocument — thin wrapper holding:
- The mutable commonmark-java
Document AST - The raw front matter string (nullable — absent if no front matter)
MarkdownParser — parses a String or File into a MarkdownDocument- Configures commonmark-java with
YamlFrontMatterExtension (using RawContentParser) and TablesExtension - Parser options should be configurable (extensions list) with sensible defaults
Notes
- Uses
org.commonmark.parser.Parser and org.commonmark.node.Document - Front matter extracted via
YamlFrontMatterVisitor.readRawContent(document)
Acceptance criteria
MarkdownParser().parse(string) returns a MarkdownDocument- Front matter is correctly separated from body content
- Documents without front matter return
null for the front matter field
Implement the primary entry point types for parsing Markdown files.
Scope
MarkdownDocument— thin wrapper holding:DocumentASTMarkdownParser— parses aStringorFileinto aMarkdownDocumentYamlFrontMatterExtension(usingRawContentParser) andTablesExtensionNotes
org.commonmark.parser.Parserandorg.commonmark.node.DocumentYamlFrontMatterVisitor.readRawContent(document)Acceptance criteria
MarkdownParser().parse(string)returns aMarkdownDocumentnullfor the front matter field