sass-rocket-fairing 0.2.0

A rocket fairing to compile sass files automagically on change ✨
Documentation
# Sass Rocket Fairing

`sass-rocket-fairing` is a Fairing/middleware for [rocket.rs](https://rocket.rs) facilitating sass compilation. It compiles your sass files on change automagically ✨

> Powered by [rsass]https://crates.io/crates/rsass (Sass reimplementation in Rust) under the hood.

## Installing

Add the following to your Cargo.toml file
```toml
sass-rocket-fairing = "0.2"
```

OR using git

```toml
sass-rocket-fairing = {version = "0.2", git="https://github.com/SyedAhkam/sass-rocket-fairing.git"}
```

## Usage

```rs
#[macro_use]
extern crate rocket;

use sass_rocket_fairing::SassFairing;

#[launch]
fn rocket() -> _ {
    rocket::build().attach(SassFairing::default())
}
```

## Configuration

`SassFairing` takes advantage of rocket's advanced configuration system. There are two ways to configure it.

1. Using Rocket.toml (recommended)
> Add a Rocket.toml file in root directory of your crate and add the following to it:

```toml
[default]
sass_dir = "static/sass"
css_dir = "static/css"
```

2. Using enviroment variables
> Set the following environment variables:
- ROCKET_SASS_DIR
- ROCKET_CSS_DIR

### Where
- `sass_dir` is the folder where your sass files are to be located.

- `css_dir` is where your built css files are to be located.

### Change output format

You can change the output format of the css files by setting the `format` parameter while creating a new `SassFairing`.

`rsass` have been re-exported for convenience.

```rust
#[macro_use]
extern crate rocket;

use sass_rocket_fairing::{SassFairing, rsass};

#[launch]
fn rocket() -> _ {
    rocket::build()
        .attach(SassFairing::new(rsass::output::Format {
                style: output::Style::Compressed,
                .. Default::default()
            }
        )
    )
}
```

## Todo

- [ ] Add support for sass (sass != scss) syntax.
- [ ] Combine multiple sass files into one css file.

## Thanks
I've stolen a big chunk of code from [rocket_dyn_templates](https://github.com/SergioBenitez/Rocket/tree/1a42009e9f729661868d339c77f5b6fc8757cebe/contrib/dyn_templates) and adapted it to my needs.

## Contributing
Feel free to send me a pull request! My code might be a little iffy but that's because I'm new to the rust ecosystem.

## License
Licensed under the most permissive license, MIT.