A collection of read/write filters for markdown representations of other content formats, including epub3.
Find a file
2026-06-22 17:47:38 +02:00
.claude/rules Add credential routing instructions for all agent runtimes 2026-06-18 22:48:38 +02:00
docs Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
examples/source-attachments Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
registry Add capability registry scaffold (REUSE-WP-0014-T05 B03) 2026-06-16 01:54:09 +02:00
src/markitect_filter Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
tests Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
workplans Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-05-15 14:36:58 +02:00
.gitignore Initial commit 2026-05-14 18:06:43 +00:00
.repo-classification.yaml Add .repo-classification.yaml (CUST-WP-0050 T11 agent first-pass) 2026-06-22 17:47:38 +02:00
AGENTS.md Add credential routing instructions for all agent runtimes 2026-06-18 22:48:38 +02:00
CLAUDE.md Add credential routing instructions for all agent runtimes 2026-06-18 22:48:38 +02:00
INTENT.md Added intent specification 2026-05-14 20:40:24 +02:00
LICENSE Initial commit 2026-05-14 18:06:43 +00:00
pyproject.toml feat(source): add pdf read adapter 2026-05-14 23:33:31 +02:00
README.md Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
SCOPE.md Add repository scope profile 2026-05-15 15:20:33 +02:00

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.epub3 for EPUB3 packages
  • source.pdf for 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.