From 0841abdd730439be6936302ef722196ee8225dbc Mon Sep 17 00:00:00 2001 From: Maverick Liu Date: Tue, 6 Jan 2026 19:36:20 +0800 Subject: [PATCH] update README --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 76 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c5d4505..ca82644 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -187,7 +187,7 @@ dependencies = [ [[package]] name = "epub2mdbook" -version = "0.16.0" +version = "0.16.1" dependencies = [ "clap", "epub", diff --git a/Cargo.toml b/Cargo.toml index 0f3a0b8..9f703d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "epub2mdbook" -version = "0.16.0" +version = "0.16.1" edition = "2024" description = "A tool to convert EPUB files to MDBook format" authors = ["Maverick Liu "] diff --git a/README.md b/README.md index aa4adc8..93f7224 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,88 @@ # EPUB to MDBook Converter -This is a powerful tool to convert EPUB files to MDBook format. +[![Crates.io](https://img.shields.io/crates/v/epub2mdbook.svg)](https://crates.io/crates/epub2mdbook) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) -## Usage +A fast and reliable tool to convert EPUB e-books to [MDBook](https://github.com/rust-lang/mdBook) format. -### CLI +## Features + +- 📖 Converts EPUB content (XHTML/HTML) to Markdown +- 📑 Automatically generates `SUMMARY.md` from the EPUB table of contents +- 📝 Creates `book.toml` with metadata (title, authors, description, language) +- 🖼️ Preserves images and other resources +- 🔗 Fixes internal links to point to converted Markdown files + +## Installation + +### From crates.io ```bash cargo install epub2mdbook -epub2mdbook path/to/input.epub --output-dir path/to/output ``` -### Rust +### From source + +```bash +git clone https://github.com/cyborg42/epub2mdbook.git +cd epub2mdbook +cargo install --path . +``` + +## Usage + +### Command Line + +```bash +# Basic usage - creates a subdirectory named after the book +epub2mdbook book.epub + +# Specify output directory +epub2mdbook book.epub --output-dir ./output + +# Output directly to the directory without creating a subdirectory +epub2mdbook book.epub --output-dir ./my-book --flat +``` + +### As a Library + +Add to your `Cargo.toml`: + +```toml +[dependencies] +epub2mdbook = "0.16" +``` + +Then use in your code: ```rust use epub2mdbook::convert_epub_to_mdbook; -convert_epub_to_mdbook("path/to/input.epub", "path/to/output", true); +fn main() -> Result<(), epub2mdbook::error::Error> { + // Creates ./output/book_name/ with the converted content + convert_epub_to_mdbook("book.epub", "./output", true)?; + + // Or output directly to ./my-book/ without subdirectory + convert_epub_to_mdbook("book.epub", "./my-book", false)?; + + Ok(()) +} ``` + +## Output Structure + +``` +output/ +└── book_name/ + ├── book.toml + └── src/ + ├── SUMMARY.md + ├── chapter1.md + ├── chapter2.md + └── images/ + └── cover.png +``` + +## License + +This project is licensed under the MIT License