#seed #component #bootstrap #framework #web-apps #applications #front-end

seed-bootstrap

Components for using Bootstrap toolkit with Seed framework

3 unstable releases

0.2.0 Jan 11, 2021
0.1.1 Jan 8, 2021
0.1.0 Jan 8, 2021

#2279 in Web programming

24 downloads per month

MIT/Apache

48KB
1.5K SLoC

Seed Bootstrap

crates.io build status

A collection of frontend components to make it convenient to use the Bootstrap CSS components together with the Seed framework for creating Single Page Web Applications in Rust.

Usage

This project assumes that you have an existing web application that uses the Seed framework. If you do not, refer to the Seed quickstart project to get started.

Depend on Seed Bootstrap in your Cargo.toml like a normal Rust library.

[dependencies]
seed = "0.8"
seed-bootstrap = "0.1"

See Bootstrap's documentation on how to include Bootstrap in your application.

Seed Bootstrap provides a number of builders that can be used as part of your Seed view functions. For example, this is how you can create a variety of Bootstrap-style buttons.

use seed_bootstrap::button::{Button, Role, Type};

fn view(model: &Model) -> Node<Msg> {
    div![
        Button::new("Primary"),
        " ",
        Button::new("Secondary").secondary(),
        " ",
        Button::new("Success").success(),
        " ",
        Button::new("Danger").danger(),
        " ",
        Button::new("Warning").warning(),
        " ",
        Button::new("Info").info(),
        " ",
        Button::new("Light").light(),
        " ",
        Button::new("Dark").dark(),
        " ",
        Button::new("Link").link(),
    ]
}

Running the Demo

A demo of all of the components are included in this repo.

From a clean Rustup-based Rust install, you need to install the WebAssembly target and Wasm-pack to build the demo. You can do so with these commands:

  • rustup target add wasm32-unknown-unknown
  • cargo install wasm-pack

After that, open a terminal in the example directory. Then, run cargo run. Then, open a web browser and navigate to http://localhost:3030/. You should see a catalog of components.

License

Licensed under either of

at your option.

Dependencies

~16MB
~286K SLoC