fbentz / elm-kitchen

Easily bootstrap a new Elm SPA

Home Page:https://allo-media.github.io/elm-kitchen/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

elm-kitchen

Build Status

This is a modest attempt at providing a simplistic yet opinionated Elm SPA application skeleton based on rtfeldman's Elm Example SPA, for Allo-Media's own needs.

Check for yourself

Features

  • Elm 0.19 ready
  • Multiple pages navigation & routing, based on URL fragments
  • Live development server with hot reloading
  • elm-test support
  • JavaScript build minification using UglifyJS.

Code organization

The application stores Elm source code in the src directory:

$ tree --dirsfirst skeleton/src
src
├── Data
│   └── Session.elm
├── Page
│   ├── Home.elm
│   └── SecondPage.elm
├── Request
│   └── Github.elm
├── Views
│   ├── Page.elm
│   └── Theme.elm
├── Main.elm
└── Route.elm

Richard Feldman explains this organization in a dedicated blog post.

Installation

$ npm install -g elm-kitchen
$ elm-kitchen my-app
$ cd my-app
$ npm install

Usage

To start the development server:

$ npm start

This will serve and recompile Elm code when source files change. Served application is available at localhost:3000.

Tests

$ npm test

Tests are located in the tests folder and are powered by elm-test.

Build

$ npm run build

The resulting build is available in the build folder.

Deploy

A convenient deploy command is provided to publish code on Github Pages.

$ npm run deploy

License

MIT

About

Easily bootstrap a new Elm SPA

https://allo-media.github.io/elm-kitchen/

License:Other


Languages

Language:Elm 78.6%Language:JavaScript 9.8%Language:HTML 6.2%Language:CSS 5.4%