[][src]Macro vial::asset_dir

macro_rules! asset_dir {
    (@option $opt:expr) => { ... };
    ($dir:expr) => { ... };
}

Vial can serve static files out of an asset directory, complete with ETag support so your browser isn't constantly re-downloading.

To enable this, put all your .js and .css and other static assets into a directory in the root of your project, then reference them as if the root of your Vial web application was that asset directory. Next call vial::asset_dir!() with the path to your asset directory (maybe assets/?) before starting your application with vial::run!:

If we had a directory structure like this: . ├── README.md ├── assets │   └── img │   ├── banker.png │   └── doctor.png └── src └── main.rs

We could serve our images like so:

vial::routes! {
    GET "/" => |_| "
        <p><img src='/img/doctor.png'/></p>
        <p><img src='/img/banker.png'/></p>
    ";
}

fn main() {
    vial::asset_dir!("assets/");
    vial::run!().unwrap();
}