Template for creating Elm websites
This project contains all of the source files used to create elm-lang.org. 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 elm-lang.org/try 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 https://github.com/elm-lang/elm-lang.org.git
cd elm-lang.org
git checkout stable
elm-package install
cabal configure
cabal install --only-dependencies
cabal build
./dist/build/run-elm-website/run-elm-website
Great! You should be set up with elm-lang.org running at localhost:8000/.
You can run cabal clean
to clear out all cached build information and start fresh.
Project Structure
-
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).