Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The full source for, the home-page of the Elm programming language. Open sourced as a way to teach people how to write and serve Elm code. Follow the instructions in to get the site setup on your own machine.
Elm JavaScript CSS Haskell
branch: master

Template for creating Elm websites

This project contains all of the source files used to create It provides a server and general structure for creating your own Elm website. The server lets you mix Elm, images, videos, HTML/CSS/JS, and whatever else you need.

You can also use this to run locally.

Set up

First make sure that you have the Elm compiler installed (directions).

Then follow these steps to get the website running locally:

git clone
git checkout stable
elm-package install
cabal configure
cabal install --only-dependencies
cabal build

Great! You should be set up with running at localhost:8000/.

You can run cabal clean to clear out all cached build information and start fresh.

Project Structure

  • frontend/public/ — all of the .elm files used for the site. This makes up the majority of client-side code. You can change/delete the existing files and add entirely new files. The changes, deletions, and additions will be served automatically.

  • resources/ — the various resources needed for Elm. This is where you put all of your non-Elm content, like images, videos, JavaScript code, etc.

  • server/ — the Haskell files responsible for serving everything from .elm files to images. Look here if you need to change how a particular resource is served or if you want to disable some of the sites features (such as the online editor).

Something went wrong with that request. Please try again.