2026-05-14 22:46:51 +02:00
|
|
|
# markitect-filter
|
2026-05-14 18:06:43 +00:00
|
|
|
|
2026-05-14 22:46:51 +02:00
|
|
|
`markitect-filter` provides concrete source-format adapters for converting
|
|
|
|
|
external document formats into canonical Markitect Markdown representations.
|
|
|
|
|
|
2026-05-14 23:33:31 +02:00
|
|
|
The first adapters are read-only source adapters that implement the
|
|
|
|
|
`markitect-tool` source adapter contract:
|
|
|
|
|
|
|
|
|
|
- `source.epub3` for EPUB3 packages
|
|
|
|
|
- `source.pdf` for digitally-readable PDFs
|
2026-05-14 22:46:51 +02:00
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
Run tests from this checkout:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
PYTHONPATH=src:/home/worsch/markitect-tool/src python3 -m pytest
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The EPUB3 adapter is registered through:
|
|
|
|
|
|
|
|
|
|
```toml
|
|
|
|
|
[project.entry-points."markitect_tool.source_adapters"]
|
|
|
|
|
epub3 = "markitect_filter.adapters:epub3_adapter_descriptor"
|
2026-05-14 23:33:31 +02:00
|
|
|
pdf = "markitect_filter.adapters:pdf_adapter_descriptor"
|
2026-05-14 22:46:51 +02:00
|
|
|
```
|
2026-05-14 23:33:31 +02:00
|
|
|
|
|
|
|
|
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.
|
2026-05-15 14:36:24 +02:00
|
|
|
|
|
|
|
|
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.
|