fileformats/README.md

40 lines
1.2 KiB
Markdown
Raw Normal View History

2023-12-07 00:12:28 +01:00
<h1 align="center">FileFormats</h1>
<p align="center">
<strong>Documentation and Rust Implementation to learn how most famous file formats store data.</strong>
</p>
<p align="center">
<img src="documentation/images/logo.png" width="200px" alt="FileFormats Logo" />
</p>
---
## About
- [Documentation](./documentation/): Explains the theory for each file format, the advantages and disadvantages compared to other file formats in the same category, why it is stored in that way, and the **User Manual** for the implementation.
- [`fileformats` Implementation](./src/): **Command-Line Interface and Rust Library** to cover most common features of each file format, and understand practically how the theory works. The features of the implementation include, but is not limited to, **read, write, convert, and compare** between file formats.
## Getting Started
### Prerequisites
- [Rust](https://www.rust-lang.org/tools/install) >= v1.74.0
- [cargo-run-bin](https://crates.io/crates/cargo-run-bin) >= v1.6.0 (`cargo install cargo-run-bin`)
### Commands
```sh
# Run `fileformats` CLI
cargo run --help
# Documentation
cargo bin mdbook serve
# Build, Lint, and Test
cargo build
cargo test
cargo clippy --verbose -- -D warnings
cargo fmt -- --check
```