elio 1.0.0

Terminal-native file manager with rich previews, inline images, and mouse support.
Documentation
pub(super) mod doc;
pub(super) mod ooxml;
pub(super) mod open_document;
pub(super) mod pages;
pub(super) mod pdf;

use super::metadata::DocumentMetadata;
use crate::file_info::DocumentFormat;
use std::{io::Read, path::Path};
use zip::ZipArchive;

pub(super) fn extract_doc_metadata(path: &Path) -> Option<DocumentMetadata> {
    doc::extract_doc_metadata(path)
}

pub(super) fn extract_ooxml_metadata<R: Read + std::io::Seek>(
    archive: &mut ZipArchive<R>,
    format: DocumentFormat,
) -> DocumentMetadata {
    ooxml::extract_ooxml_metadata(archive, format)
}

pub(super) fn extract_open_document_metadata<R: Read + std::io::Seek>(
    archive: &mut ZipArchive<R>,
    format: DocumentFormat,
) -> DocumentMetadata {
    open_document::extract_open_document_metadata(archive, format)
}

pub(super) fn extract_pages_metadata<R: Read + std::io::Seek>(
    archive: &mut ZipArchive<R>,
) -> DocumentMetadata {
    pages::extract_pages_metadata(archive)
}

pub(super) fn extract_pdf_metadata(path: &Path) -> Option<DocumentMetadata> {
    pdf::extract_pdf_metadata(path)
}