seed-icons 0.3.2

Get icons collections for Seed
docs.rs failed to build seed-icons-0.3.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: seed-icons-0.4.2

Icons Collections for Seed

Seed 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 collection

Add to [dependencies]

In your Cargo.toml:

seed-icons = "0.3.1"

Import icon

For example regular check-circle could be imported next way:

use seed_icons::fa::regular::check_circle;

Render icon

There are three methods in icon module: i, i_c, i_s and i_sc

  • i - just renders icon
  • i_c - renders icon with a list of custom classes
  • i_s - renders icon with style
  • i_sc - renders icon with style and classes

For example call i_s function could be used like that:

use seed::{prelude::*, *};
use seed_icons::fa::regular::check_circle;
use seed_style::*;

fn green_check<T>() -> Node<T> {
    check_circle::i_s(s().color(
        CssColor::StringValue("green".to_string())
    ))
}

Or i_c with custom CSS:

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

In this case you'd need also to provide CSS somewhere:

.green-icon {
    color: green;
}

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:

seed-icons-gen = "0.2.0"

Add build.rs

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

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:

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:

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

Roadmap