# Static Web Minify for Rust lang 🦀
A minifiy for css, js, html file as an inline const in your high-performance compiled web
application. Inspired by [const-css-minify](https://github.com/scpso/const-css-minify).
Unlinke `include_str!()`, you must put the name file from root of your rust project (see
[issue 54725](https://github.com/rust-lang/rust/issues/54725)).
## Dependencies
This project has dependencies to :
* [css-minify](https://crates.io/crates/css-minify),
* [minify-js](https://crates.io/crates/minify-js),
* [html-minifier](https://crates.io/crates/html-minifier),
* [flate2](https://crates.io/crates/flate2) for GZip compression.
## Available macros
* `minify_css_str`: produce a minified css from string,
* `minify_css_file`: produce a minified css from file,
* `minify_js_str`: produce a minified js from string,
* `minify_js_file`: produce a minified js from file,
* `minify_html_str`: produce a minified html from string,
* `minify_html_file`: produce a minified html from file,
* `gzip_str`: produce a gzip stream from string,
* `gzip_file`: produce a gzip stream from file.
## Example
```rust
use static_web_minify::minify_js_file;
// this is probably the pattern you want to use
const JS: &str = minify_js_file!("tests/test.js");
```
It's also possible to include a raw string with:
```rust
use static_web_minify::minify_js_str;
const JS: &str = minify_js_str!(r#"
function my_func() {
// Great !
}
"#);
assert_eq!(JS, "var my_func=(()=>{})");
```