use crate::extract_images::extract_base64_to_buffers;
use crate::gdocs::{create_archive_zip, ExtractedImage, GDocsArchiveResult};
use crate::markdown::convert_html_to_markdown;
pub fn build_zip_from_html(html: &str, base_url: &str) -> crate::Result<Vec<u8>> {
let markdown = convert_html_to_markdown(html, Some(base_url))?;
let buffers = extract_base64_to_buffers(&markdown, "images")?;
let archive = GDocsArchiveResult {
html: html.to_string(),
markdown: buffers.markdown,
images: buffers
.images
.into_iter()
.map(|b| ExtractedImage {
filename: b.filename,
data: b.data,
mime_type: String::new(),
})
.collect(),
document_id: String::new(),
export_url: base_url.to_string(),
};
create_archive_zip(&archive, true)
}