Success by conversion path
PHP WordPress blocks
108/109
PHP HTML
108/109
Haskell Pandoc HTML
82/109
Faithful enough diff checks
These checks compare generated outputs against Haskell Pandoc when it can read the source, a format-native external reference where one is available, or PHP HTML only as a disclosed fallback. Text scores compare normalized visible words. Visual-structure scores compare the rendered document shape: headings, paragraphs, lists, tables, images, figures, captions, code, quotes, and math. Generic XML uses an independent libxml2/libxslt transform over common structural element names. PDFKit supplies text and geometry, not an HTML semantic tree, so PDF visual tag scores are explicitly excluded rather than reported as a false mismatch.
Text
Faithful enough
194
Needs review
0
Divergent or empty
2
Visual structure
Faithful enough
152
Needs review
0
Divergent or empty
0
Source semantics unavailable
44
Bibliography semantics
Standalone BibTeX, BibLaTeX, CSL JSON, EndNote XML, and RIS inputs are rendered by Haskell Pandoc through Citeproc. Their WordPress output is checked by exact reference count and Citeproc token coverage, not by wrapper tags, because the PHP port deliberately emits editable definition-list blocks.
Proven
10
Needs review
0
No baseline
0
Import quality gates
These checks evaluate the WordPress block output as an import artifact: visible text completeness, paragraph merge or split drift, Citeproc reference coverage where applicable, media extraction diagnostics, local anchor validity, and Custom HTML block share. Generic XML is checked against independent libxml2/libxslt source structure. PDFs additionally use independent native source-token coverage and line geometry because untagged PDFs do not encode HTML heading, list, table, or image semantics.
Pass
99
Review
2
Unbenchmarked
0
Fail
8
Actionable thresholds
The common-format gate is blocking and covers normal WordPress import formats. Exotic formats are tracked separately so they stay visible without diluting the common-format release signal.
| Segment | Status | Quality coverage | Failures | Conversion failures | Policy |
|---|---|---|---|---|---|
| common | fail | 54/62 | 7 | 1 | blocking |
| exotic | pass | 47/47 | 0 | 0 | tracked |
| Sample | Status | Gate summary |
|---|---|---|
Unstructured OCR text-layer fixturepdf | review | 4 pass, 5 review, 0 unbenchmarked, 0 fail |
Docling right-to-left fixturepdf | fail | 6 pass, 1 review, 0 unbenchmarked, 1 fail |
Docling aircraft handbook samplepdf | fail | 7 pass, 0 review, 0 unbenchmarked, 1 fail |
MinerU small OCR documentpdf | fail | 0 pass, 0 review, 0 unbenchmarked, 1 fail |
Theatre script formatting examplepdf | fail | 6 pass, 1 review, 0 unbenchmarked, 1 fail |
Grand Canyon North Rim pocket mappdf | fail | 7 pass, 0 review, 0 unbenchmarked, 1 fail |
Public-domain scanned book PDFpdf | fail | 5 pass, 2 review, 0 unbenchmarked, 1 fail |
Muir Beach illustrated brochurepdf | review | 6 pass, 2 review, 0 unbenchmarked, 0 fail |
QuickBooks invoice template PDFpdf | fail | 7 pass, 0 review, 0 unbenchmarked, 1 fail |
Ruling-free crop table PDFpdf | fail | 7 pass, 0 review, 0 unbenchmarked, 1 fail |
Curated stress showcase
These are representative real-world files from the pulled corpus: leaflets, brochures, a scanned book, image-heavy packages, table-heavy office documents, and rich markup fixtures.
Extracted media preview
The PHP path now runs an --extract-media-style pass in images we thought were important mode. Referenced package images are written beside the converted output and their <img> URLs are rewritten to hosted files; directly embeddable PDF streams are copied out, while JBIG2 streams are decoded through the bundled browser-compatible PDF.js/PDFium raster path into validated 1-bit PNG media.

pdf · WordPress blocksimage-10.jpg · 27.8 KB
pdf · WordPress blocksimage-12.jpg · 17.9 KB
pdf · WordPress blocksimage-213.jpg · 3.5 KB
pdf · WordPress blocksimage-219.png · 118 B
pdf · WordPress blocksimage-220.jpg · 4.1 KB
pdf · WordPress blocksimage-226.jpg · 1.4 KB
pdf · WordPress blocksimage-243.png · 139 B
pdf · WordPress blocksimage-247.png · 137 B
pdf · WordPress blocksimage-248.png · 8.4 KB
pdf · WordPress blocksimage-3.avif · 27.4 KB
epub · WordPress blocksimage.jpg · 9.5 KB
epub · WordPress blocks360840914614224901_a.png · 1.9 KB
epub · WordPress blocks360840914614224901_c-quote.png · 2.0 KB
epub · WordPress blocks360840914614224901_cover.jpg · 52.8 KB
epub · WordPress blocks360840914614224901_endpapers.jpg · 36.0 KB
epub · WordPress blocks360840914614224901_f.png · 2.0 KB
epub · WordPress blocks360840914614224901_f0002-image.jpg · 41.1 KB
epub · WordPress blocks360840914614224901_h-quote.png · 1.7 KB
epub · WordPress blocks360840914614224901_i.png · 2.0 KB
epub · WordPress blocks360840914614224901_p0015-image.png · 13.4 KB
epub · WordPress blocks360840914614224901_p0022-insert2.jpg · 67.9 KB
docx · WordPress blocksimage1.jpg · 1.7 KB
docx · WordPress blocksimage2.jpg · 1.3 KB
pptx · WordPress blocksimage1.png · 32.0 KB
pptx · WordPress blocksimage10.png · 57.7 KB
pptx · WordPress blocksimage11.jpeg · 9.8 KB
pptx · WordPress blocksimage2.png · 4.9 KB
pptx · WordPress blocksimage26.png · 22.2 KB
pptx · WordPress blocksimage27.png · 59.6 KB
pptx · WordPress blocksimage28.png · 18.1 KB
pptx · WordPress blocksimage29.png · 46.2 KB
pptx · WordPress blocksimage3.png · 14.5 KB
pptx · WordPress blocksimage30.jpeg · 143.8 KB
odt · WordPress blocks100000000000009A000000914DD412D78D619E56.png · 1.1 KB
odt · WordPress blocks100000000000009A000000A059773B4C62FA218F.png · 1.2 KB
odt · WordPress blocks100000000000009A000000A060B95E7C1823CB80.png · 1.2 KB
odt · WordPress blocks100000000000009A000000A09F8D783526AADC53.png · 1.2 KB
odt · WordPress blocks10000000000001D800000075EA638B5EFC5F39F7.png · 10.8 KB
odt · WordPress blocks10000200000000BD000000BD1617CD982F08C512.gif · 2.6 KB
odt · WordPress blocks10000200000000BD000000BD694AAF88D9B12624.gif · 2.5 KB
odt · WordPress blocks10000200000000BE000000BE0F10EB0E20C95144.gif · 2.5 KB
odt · WordPress blocks10000200000000BE000000BE243963DA63B6C335.gif · 2.0 KB
odt · WordPress blocks10000200000000BE000000BE356159C40D964AAC.gif · 2.9 KB
docx · WordPress blocksimage1.png · 1.5 KB
docx · WordPress blocksimage2.png · 16.8 KB
dokuwiki · WordPress blocksbac187a7c86d691ecc6d34841319cd3d2649f08e.png · 68 B
epub · WordPress blocks3703879215274223467_cover.jpg · 52.2 KB
epub · WordPress blockscheck.gif · 1.3 KB
epub · WordPress blockscheck.jpg · 2.6 KB
epub · WordPress blockscheck.png · 2.7 KB
epub · WordPress blocksmultiscripts_and_greek_alphabet.png · 9.8 KB
epub · WordPress blockswasteland-cover.jpg · 16.2 KBlatex · WordPress blocksarchitecture.svg · 779 B
pdf · WordPress blocksimage-32.png · 2.3 KB
pdf · WordPress blocksimage-11.jpg · 47.5 KB
pdf · WordPress blocksimage-2.jpg · 129.5 KB
pdf · WordPress blocksimage-10.jpg · 461.9 KB
pdf · WordPress blocksimage-28.png · 11.1 KB
pdf · WordPress blocksimage-34.png · 9.4 KB
pptx · WordPress blocksimage1.png · 58.7 KB
pptx · WordPress blocksimage2.jpg · 85.2 KB
pptx · WordPress blocksimage3.jpg · 15.2 KB
pptx · WordPress blocksimage4.jpg · 57.2 KB
pptx · WordPress blocksimage5.jpg · 54.6 KB
rst · WordPress blocksbac187a7c86d691ecc6d34841319cd3d2649f08e.png · 68 BSuccess by input format
| Format | Files | Successful conversions | Failures |
|---|---|---|---|
biblatex | 2 | 6/6 | 0 |
bibtex | 2 | 6/6 | 0 |
bits | 2 | 6/6 | 0 |
commonmark | 1 | 3/3 | 0 |
commonmark_x | 1 | 3/3 | 0 |
csljson | 2 | 6/6 | 0 |
csv | 2 | 6/6 | 0 |
doc | 2 | 4/6 | 2 |
docbook | 2 | 6/6 | 0 |
docx | 9 | 27/27 | 0 |
dokuwiki | 1 | 3/3 | 0 |
endnotexml | 2 | 6/6 | 0 |
epub | 6 | 18/18 | 0 |
fb2 | 2 | 6/6 | 0 |
gfm | 1 | 3/3 | 0 |
html | 4 | 12/12 | 0 |
ipynb | 2 | 6/6 | 0 |
jats | 2 | 6/6 | 0 |
jira | 2 | 6/6 | 0 |
json | 2 | 6/6 | 0 |
latex | 3 | 9/9 | 0 |
man | 2 | 6/6 | 0 |
markdown | 1 | 3/3 | 0 |
markdown_github | 1 | 3/3 | 0 |
markdown_mmd | 1 | 3/3 | 0 |
markdown_phpextra | 1 | 3/3 | 0 |
markdown_strict | 1 | 3/3 | 0 |
mdoc | 1 | 3/3 | 0 |
mediawiki | 2 | 6/6 | 0 |
native | 2 | 6/6 | 0 |
odt | 3 | 9/9 | 0 |
opml | 2 | 6/6 | 0 |
pdf | 23 | 44/69 | 25 |
pptx | 4 | 12/12 | 0 |
ris | 2 | 6/6 | 0 |
rst | 1 | 3/3 | 0 |
rtf | 3 | 9/9 | 0 |
tsv | 2 | 6/6 | 0 |
xlsx | 3 | 9/9 | 0 |
xml | 2 | 4/6 | 2 |
WordPress block coverage
The WordPress output generated blocks for 108 samples.
| Block | Count |
|---|---|
code | 653 |
group | 401 |
heading | 4289 |
html | 52 |
image | 128 |
list | 1423 |
paragraph | 23597 |
quote | 56 |
separator | 66 |
table | 586 |
verse | 10 |