You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Office backend follow-ups after 0.1.0 (from fetchkit integration) #11
These gaps came up while making markkit the default Office backend in fetchkit (everruns/fetchkit#183). They are ordered roughly by impact.
Format coverage
PPTX support. fetchkit's deprecated in-crate converter handled it, so fetchkit loses PPTX by default until markkit supports it.
XLSB support.
Format::from_content_type maps application/vnd.ms-excel.sheet.binary.macroenabled.12 (XLSB) to Xlsx, because the string contains ms-excel.sheet. Detect it as XLSB instead.
Correctness
A sheet with a single row renders as a header row with no data rows.
Spreadsheets have no title: Extraction.title is always None for XLSX/XLS/ODS. The title could come from the document properties (docProps/core.xml or meta.xml).
Output always ends with a trailing newline. Decide whether that is intended.
Safety and limits
max_processing_secs is in the config but never enforced, so parsing has no time budget.
The release profile uses panic = "abort", which makes the catch_unwind guard ineffective in markkit's own binaries.
API ergonomics for embedders
Make MarkkitClone and Debug. fetchkit currently wraps it in an Arc and writes its own Debug.
Make warnings structured (a code plus detail), not free-text code: detail strings.
Give errors structured fields, for example ResourceLimit { size, limit }, so callers can map them without parsing strings.
With default-features = false plus docx,spreadsheet, markkit still pulls in anyhow, regex, unicode-segmentation, mime, base64, serde_json and tokio. Make the ones the document path doesn't need optional.
Minor
An XLSX file without _rels/.rels fails inside calamine. Real files always have it, so this only affects hand-built fixtures.
Activity