markitect-filter
markitect-filter provides concrete source-format adapters for converting
external document formats into canonical Markitect Markdown representations.
The first adapters are read-only source adapters that implement the
markitect-tool source adapter contract:
source.epub3for EPUB3 packagessource.pdffor digitally-readable PDFs
Development
Run tests from this checkout:
PYTHONPATH=src:/home/worsch/markitect-tool/src python3 -m pytest
The EPUB3 adapter is registered through:
[project.entry-points."markitect_tool.source_adapters"]
epub3 = "markitect_filter.adapters:epub3_adapter_descriptor"
pdf = "markitect_filter.adapters:pdf_adapter_descriptor"
The first PDF slice is stdlib-only and targets deterministic text extraction from local, digitally-readable PDFs. OCR, scanned-document recognition, and layout-perfect reconstruction are intentionally deferred.
Read-side attachment metadata is exposed through
NormalizedMarkdownDocument.attachments for EPUB3 package resources, PDF
embedded files, and PDF image-resource signals. See
docs/source-attachment-metadata.md for the handoff contract to passive render
asset manifests.