Expand description
§grouse
A simple asset bundler for Rust.
§about
grouse is a very simple asset bundler intended for baking static
files directly into your Rust binaries. In short, grouse will generate a
unit struct that implements an fn to retreive all of the files within a
particular Manifest, and one to lookup a file by it’s sha256 digest.
§getting started
To start using grouse, you’ll first need to add our package to your
Cargo.toml manifest:
cargo add grouseThen you can bundle a directory into your Rust executable.
// Thanks to recently stablized proc-macro features, the include
// path is relative to the current file directory, like how the
// builtin [`core::include_bytes!`] macro works.
#[grouse::manifest("../src")]
struct Manifest;
fn main() {
// Iterate through all of the files in the manifest.
for file in Manifest::files() {
eprintln!("{} => {}", file.path(), file.digest());
}
// We can also get the digest of a particular file directly.
let x = grouse::file!("../src/lib.rs").digest();
// Which can then be used to lookup it's corresponding file in the
// manifest.
let lib = Manifest::get(x).unwrap();
}Macros§
Structs§
- File
- Represents a file embedded into this binary.