Ema is a next-gen Haskell library toolkit for building jamstack-style static sites.
Ema sites are change-aware; in addition to good ol’ static site generation, it provides a live server supporting fast hot-reload in the browser on code or data change.
This is free and open source software.
Key Features
- Hot Reloading – ny changes to your Haskell source or data files (such as Markdown files or HTML templates) propagate instantly to the web browser without requiring any manual intervention like a full browser refresh. The Ema dev server uses websockets to keep a bi-directional connection open between the web browser and the backend server.
- Ema apps have a basic CLI argument structure.
Website: ema.srid.ca
Support: GitHub Code Repository
Developer: Sridhar Ratnakumar
License: BSD 3-Clause “New” or “Revised” License
Ema is written in Haskell. Learn Haskell with our recommended free books and free tutorials.
Related Software
| Haskell Static Site Generators | |
|---|---|
| Hakyll | Library for generating static sites |
| yst | Static websites from YAML and string templates |
| Ema | Next-gen library toolkit for building jamstack-style static sites |
| rib | Creates structured websites from plain-text notes |
| Slick | Provides a small set of tools and combinators for building static websites |
| Bark | Intended to be very simple |
| rib | rib is superceded by Ema |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.