elm-kitten
This project has been forked from elm kitchen, which has been unmaintained for more than a year now.
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.1 ready
- Multiple pages navigation & routing, based on URL fragments
- SASS support with Bootstrap 5.1 integration
- Live development server with hot reloading (Elm + SASS)
- elm-test support
- JavaScript build minification & optimization 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-kitten
$ elm-kitten 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