2 releases

0.1.1 Apr 28, 2023
0.1.0 Apr 25, 2023

#1098 in Embedded development

MIT license

4KB

Embeddy

License Cargo Version Cargo Downloads

Minimal opinionated resource embedding

Files are loaded relative to the Cargo.toml file

Example Usage

use embeddy::Embedded;

/// Contains all the files stored in the "test" folder 
/// use the [`Embedded::get`] method to access the folders
#[derive(Embedded)]
#[folder = "test"]
struct MyResources;

fn main() {
    let file: Option<&'static [u8]> = MyResources::get("test.txt");
    let nested_file: Option<&'static [u8]> = MyResources::get("sub/test.txt");
}

lib.rs:

Embedding

To embed a folder simply derive the Embedded trait on a struct and set the folder attribute to the folder path relative to the project Cargo.toml

use embeddy::Embedded;

#[derive(Embedded)]
#[folder = "test"]
struct MyResources;

fn main() {
    let file: Option<&'static [u8]> = MyResources::get("test.txt");
}

Dependencies

~0.3–7.5MB
~55K SLoC