From 09b76f2bd136bfa41a0d13e698cc8c651ede0892 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Tue, 3 Mar 2026 11:27:17 +0300 Subject: Add a function to write container.xml --- src/epub.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/epub.rs') diff --git a/src/epub.rs b/src/epub.rs index f216567..6f736de 100644 --- a/src/epub.rs +++ b/src/epub.rs @@ -7,6 +7,32 @@ use tokio::{ io::AsyncWriteExt, }; +/// Creates and writes container.xml. +pub async fn write_container_xml(dest_root: &Path, opf_full_path: &str) -> Result<()> { + // Create destination directory. + let dest_dir = dest_root.join("META-INF"); + fs::create_dir_all(&dest_dir).await?; + + // Create distination file. + let dest_path = dest_dir.join("container.xml"); + let mut file = File::create(dest_path).await?; + + // Prepare file contents. + let contents = format!( + r#" + + + + + +"# + ); + + // Write down the file. + file.write_all(contents.as_bytes()).await?; + Ok(()) +} + /// Creates and writes the mimetype. Assumes dest_root already exists. pub async fn write_mimetype(dest_root: &Path) -> Result<()> { let dest_path = dest_root.join("mimetype"); -- cgit v1.2.3-70-g09d2