# cli
[](https://github.com/novel-rs/cli/actions/workflows/build.yml)
[](https://codecov.io/gh/novel-rs/cli)
[](https://docs.rs/novel-cli)
[](https://github.com/rust-lang/rust)
[](https://github.com/novel-rs/cli)
[](https://crates.io/crates/novel-cli)
[](https://github.com/novel-rs/cli/releases)
---
A set of tools for downloading novels from the web, manipulating text, and generating EPUB
## Platform
- Windows
- Linux
- macOS
## Installation
You can download the compiled file from [release](https://github.com/novel-rs/cli/releases), or compile it yourself
```shell
# Download the source code from https://crates.io
cargo install novel-cli
# Or download the source code from GitHub
git clone https://github.com/novel-rs/cli
cargo build --release
```
If you compile it yourself, you need the following dependencies:
- Clang
- CMake
- Python / Python3
If you are using Windows, you also need:
- NASM
And requires Clang version below 16 on Windows(due to [this](https://github.com/cloudflare/boring/issues/109))
The **novel-cli build** subcommand requires [pandoc](https://github.com/jgm/pandoc)
The **novel-cli real-cugan** subcommand requires [realcugan-ncnn-vulkan](https://github.com/nihui/realcugan-ncnn-vulkan)
## Usage
You can run `novel-cli help` to view help information
### Examples
- **The basic format of the command is:**
```shell
novel-cli [OPTIONS] <COMMAND> [COMMAND-OPTIONS] [ARGUMENTS]
```
- **Download a novel from source in format**
```shell
novel-cli download <bookid> --source <app-source> --format <output-format>
```
- **Search for a novel from source**
```shell
novel-cli search --source <SOURCE> <KEYWORD>
```
### Commands
- `download`: Download novels from various sources.
- `search`: Search for novels on various sources.
- `info`: Print information about a novel on various sources.
- `read`: Read novel from various sources.
- `bookshelf`: Show saved favorite novels on various sources.
- `transform`: Convert markdown files to pandoc style.
- `check`: Check the format and content of pandoc style markdown files.
- `build`: Build a novel from pandoc style markdown files or an mdBook folder.
- `zip`: Compress an epub folder.
- `unzip`: Decompress an epub file.
- `real-cugan`: Run the realcugan-ncnn-vulkan program.
- `update`: Check for updates, download files from GitHub, and replace them.
- `completions`: Generate shell completions to standard output.
- `help`: Print this message or the help of the given subcommand(s).
### Options
- `-v, --verbose`: Use verbose output. This option provides more detailed output.
- `-q, --quiet`: Do not print logs (default: **false**). This option suppresses logging output.
- `--backtrace`: Print backtrace information. This option displays the backtrace information.
- `-h, --help`: Print help. This option displays the help information.
- `-V, --version`: Print version. This option prints the version information.
## Contributing
You should read [CONTRIBUTING](https://github.com/novel-rs/cli/blob/main/CONTRIBUTING.md) first
## License
All the code in this repository is released under **[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)**
and **[MIT license](https://opensource.org/licenses/MIT)**