# Icons Collections for Seed

[Seed](https://seed-rs.org/) is an awesome framework to develop
single page applications.

This package provides `build.rs` to generate icons to use with Seed.
It does not provide you with icons themselves (you stil have to reference
CSS / JS files from your index.html), but it gives you a module for each icon and it can help you with downloading resources.

## Use [Font-Awesome](https://fontawesome.com/) collection

### Add to `[dependencies]`

In your Cargo.toml:
``` toml
seed-icons = "0.2.4"
```

### Define additional classes

That's completely optional, but if you want to change for example color
of icon, in your `.css` file you could have something like this:

``` css
.green-icon {
    color: green;
}
```

### Import icon

For example [regular check-circle](https://fontawesome.com/icons/check-circle?style=regular) 
could be imported next way:

``` rust
use seed_icons::fa::regular::check_circle;
```

### Render icon

Just call `icon` function from imported module like that:

``` rust
check_circle::icon(vec!["green-icon"])
```

You can pass any number of classes here, or not pass anything, 
that's up to you. 

## Add resources

You might want to download resources with icons by yourself, or
you can use `seed-icons-gen` crate for that.

### Add build dependency

In `[build-dependencies]` add following:

``` toml
seed-icons-gen = "0.1.8"
```

### Add `build.rs`

If you already have `build.rs`, you just need to modify it
to do the same as the following one:

``` rust
fn main() {
    seed_icons_gen::get_fa_resources("static");
}
```

When your crate would be built, that would download `font-awesome`
folder inside of `static` folder. 

You might want to add `.gitignore` file in static folder:

``` .gitignore
font-awesome
```
, because you'd probably will not want to keep all those 
resources in your VCS.

### Link stylesheets

If you've downloaded resources as explained before, then
you can link them in `index.html` like that:

``` html
    <link href="static/font-awesome/css/all.css" rel="stylesheet">
```
