Skip to content

Replace DOM parsing with a semantic pull-parser Markdown pipeline - #46

Merged
nilskruthoff merged 23 commits into
mainfrom
refactor-parse-logic-from-dom-to-pull-parsing
Jul 17, 2026
Merged

nilskruthoff merged 23 commits into
mainfrom
refactor-parse-logic-from-dom-to-pull-parsing

Conversation

@nilskruthoff

Copy link
Copy Markdown
Owner
  • Replaced slide, relationship, and ODP DOM-style XML processing with event-driven pull parsing
  • Added source-order and spatial reading-order strategies
  • Added positioned bounds and source order to semantic blocks
  • Added text roles for titles, subtitles, headings, body text, and captions
  • Preserved individual paragraphs, alignment, runs, hyperlinks, and list metadata
  • Added semantic tables with row spans, column spans, and covered-cell state
  • Added image MIME type and alternative-text metadata
  • Preserved mixed normal and list paragraphs in the same text box
  • Preserved nested list levels and ordered-list start values
  • Added strikethrough, superscript, subscript, hard-break, and field handling
  • Rendered regular tables as GFM Markdown and merged tables as HTML
  • Emitted standard Markdown image syntax with alternative text
  • Added PresentationContainer::parse_document() for structured consumers

… block parsing and improved diagnostic capabilities
…nstruction to use semantic blocks and improved error reporting
…wn generation, and improved image handling with diagnostics
…handling with shared logic and improved error diagnostics
…ic document model with metadata, slides, and diagnostics
…tests for improved ODP handling and semantic Markdown parity
…escaped attributes, and verify proper error handling
…ed Markdown generation, image handling, and semantic block validation
…d `convert_to_md` calls, and updated `SlideElement` to `SlideBlockContent` for improved readability and logic consistency
…ements, Markdown rendering changes, and breaking API updates
…ng, image rendering, and grouped element parsing across multiple XML formats
@nilskruthoff
nilskruthoff merged commit b881e4c into main Jul 17, 2026
1 check passed
@nilskruthoff
nilskruthoff deleted the refactor-parse-logic-from-dom-to-pull-parsing branch July 17, 2026 18:25
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.06496% with 260 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/parse_xml.rs 86.50% 156 Missing ⚠️
src/odp.rs 91.56% 65 Missing ⚠️
src/slide.rs 95.48% 18 Missing ⚠️
src/container.rs 67.74% 10 Missing ⚠️
src/xml.rs 91.89% 6 Missing ⚠️
src/metadata.rs 95.65% 4 Missing ⚠️
src/parse_rels.rs 96.96% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant