1 unstable release
0.2.0 | Jul 14, 2022 |
---|---|
0.1.0 |
|
#2 in #fairing
18KB
242 lines
Sass Rocket Fairing
sass-rocket-fairing
is a Fairing/middleware for rocket.rs facilitating sass compilation. It compiles your sass files on change automagically ✨
Powered by rsass (Sass reimplementation in Rust) under the hood.
Installing
Add the following to your Cargo.toml file
sass-rocket-fairing = "0.2"
OR using git
sass-rocket-fairing = {version = "0.2", git="https://github.com/SyedAhkam/sass-rocket-fairing.git"}
Usage
#[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.
- Using Rocket.toml (recommended)
Add a Rocket.toml file in root directory of your crate and add the following to it:
[default]
sass_dir = "static/sass"
css_dir = "static/css"
- 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.
#[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 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.
Dependencies
~18–49MB
~843K SLoC