| .claude/rules | ||
| docs | ||
| examples/source-attachments | ||
| registry | ||
| src/markitect_filter | ||
| tests | ||
| workplans | ||
| .custodian-brief.md | ||
| .gitignore | ||
| .repo-classification.yaml | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| INTENT.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| SCOPE.md | ||
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.