Chapter 15. Scaffolding and the Site Template

So you’re tired of running small examples, and ready to write a real site? Then you’re at the right chapter. Even with the entire Yesod library at your fingertips, there are still a lot of steps you need to go through to get a production-quality site setup:

  • Config file parsing

  • Signal handling (*nix)

  • More efficient static file serving

  • A good file layout

The scaffolded site is a combination of many Yesoders’ best practices brought together into a ready-to-use skeleton for your sites. It is highly recommended for all sites. This chapter will explain the overall structure of the scaffolding, how to use it, and some of its less-than-obvious features.

For the most part, this chapter will not contain code samples. It is recommended that you follow along with an actual scaffolded site.


Due to the nature of the scaffolded site, it is the most fluid component of Yesod, and can change from version to version. It is possible that the information in this chapter is slightly outdated.

How to Scaffold

The yesod package installs both a library and an executable (conveniently named yesod as well). This executable provides a few commands (run yesod by itself to get a list). In order to generate a scaffolding, the command is yesod init. This will start a question-and-answer process where you get to provide basic details (your name, the project name, etc). After answering the questions, you will have a site template in a subfolder with the name of your project. ...

Get Developing Web Applications with Haskell and Yesod now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.