## Examples
For specific details see corresponding READMEs.
Consider first looking at [Counter](./counter).
Most of the examples can be run by simply:
```sh
cd examples/$EXAMPLE_DIR
cargo make start
```
### [Homepage repo](https://github.com/seed-rs/seed-rs.org)
The Seed homepage, also serving as an example. Includes simple
interactions, markdown elements, routing, and view markup.
### [Animation](animation)
How to make a basic animation with random generators.
### [Bunnies](bunnies)
Intended as a demo of [Shipyard](https://github.com/leudz/shipyard) (Entity Component System) integration.
### [Canvas](canvas)
How to make a canvas element and use `ElRef`s.
### [Counter](counter)
Intended as a demo of basic functionality.
### [Custom Elements](custom_elements)
How to create and use custom elements.
### [Drop Zone](drop_zone)
How to create a drop-zone.
### [Element Key](el_key)
How to control a DOM update using element keys and empty nodes.
### [Markdown](markdown)
How to render markdown.
### [Pages](pages)
How to create and browse multiple pages in your app.
### [Pages with hash routing](pages_hash_routing)
How to create and browse multiple pages in your app.
This example uses hash routing.
### [Pages that keep their state](pages_keep_state)
How to create and browse multiple pages in your app.
Pages keep their state.
### [Subscribe](subscribe)
How to create and use subscriptions, streams, notifications and commands.
### [TEA component](tea_component)
How to write a component in The Elm architecture.
You'll also learn how to pass messages to the parent component.
### [Fetch](fetch)
How to make HTTP request using Fetch API.
### [Todo MVC](todomvc)
Classic TodoMVC example with Local Storage.
### [Update from JS](update_from_js)
How to trigger `update` function from Javascript world.
You'll also see how to call JS functions from Rust.
### [Url](url)
Intended as a demo of Url functions and browser navigation.
### [UserMedia](user_media)
How to show your webcam output in `video` element.
### [Window Events](window_events)
A demonstration of event-handlers attached to the `window`.
## Server
Backend server integration & interaction examples.
### [Auth](auth)
How to implement login / logout.
### [GraphQL](graphql)
How to communicate with a GraphQL backend.
### [Integration](server_integration)
Example of a workspace with [Actix](https://actix.rs/) server.
### [Websocket Chat](websocket)
Example of communicating with a server using Websockets.