1 unstable release
0.1.0 | Jan 24, 2022 |
---|
#683 in Compression
18KB
259 lines
Furnel
A command-line utility to compress files using the brotli algorithm. Built because I wanted a simple tool to pre-compress files for a static website.
Why “Furnel”?
The brotli algorithm is named for Brötli, which is the Swiss German word for bread rolls. Bread rolls are baked in an oven, and an oven in Romansh - another Swiss language - is called furnel.
Furnel makes brotli.
Installation
From GitHub
- Go to the Furnel releases page.
- Download the version you need for the OS you have.
- Unpack the self-contained executable somewhere on your path.
Using cargo
If you are a Rust developer, you can install the binary from Crates.io:
cargo install furnel
Usage
USAGE:
furnel [OPTIONS] [--] [BASE_PATH]
ARGS:
<BASE_PATH> The base path to search [default: .]
OPTIONS:
-h, --help
Print help information
-l, --license
Display full license notice
-m, --only-missing
Only compress missing files, i.e. those where no corresponding .br
files are present
-q, --quiet
Disable progress indicator
-r, --recurse
Recurse into subdirs below the base path
-x, --extension <EXTENSION>
File extensions to process, for example `-x css -x html -x js`
[default: css html js svg txt]
Building
Furnel is written in Rust, so you will need a Rust installation to compile it.
Installing Rust on Windows
Download and run the rustup-init.exe
installer. As part of the installation process,
it will instruct you to install the Microsoft Visual C++ Build Tools 2019 and provide a link.
Build, Test and Run
git clone https://github.com/pyxy-dk/furnel.git
cd furnel
cargo build
cargo test
cargo run -- -h
Dependencies
~9.5MB
~328K SLoC