# elm-spa
single page apps made easy

### try it out

```
npx elm-spa init new-project
```

### or just install the elm package

```
elm install ryannhg/elm-spa
```

### or run the example

```
cd example && npm start
```

### overview

When you create an app with the [elm/browser](https://package.elm-lang.org/packages/elm/browser/latest) package, you can build anything from a static `Html msg` page to a fully-fledged web `Browser.application`.

`elm-spa` uses that design at the page-level, so you can quickly add new pages to your Elm application!

## the four kinds of pages:

1. __static__ – a page that only renders HTML.
2. __sandbox__ – a page with state.
3. __element__ – a page with side-effects.
4. __component__ – a page with global state.

Check out [the package docs](https://package.elm-lang.org/packages/ryannhg/elm-spa/latest/Spa) to learn more!

