ema: Static site generator library with hot reload

[ agpl, library, web ] [ Propose Tags ] [ Report a vulnerability ]

Ema is a next-gen Haskell library 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.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.4.0.0, 0.6.0.0, 0.8.0.0, 0.8.2.0, 0.10.0.0, 0.10.2.0, 0.12.0.0
Change log CHANGELOG.md
Dependencies aeson, async, base (>=4.13.0.0 && <4.99), data-default, directory, file-embed, filepath, filepattern, http-types, lvar (>=0.2), monad-logger, monad-logger-extras, mtl, neat-interpolation, optics-core, optparse-applicative, relude (>=1.0), sop-core, text, unliftio, url-slug, wai, wai-middleware-static, wai-websockets, warp, websockets [details]
License AGPL-3.0-only
Copyright 2021 Sridhar Ratnakumar
Author Sridhar Ratnakumar
Maintainer srid@srid.ca
Category Web
Home page https://ema.srid.ca/
Bug tracker https://github.com/srid/ema/issues
Uploaded by sridca at 2025-07-22T23:20:42Z
Distributions NixOS:0.10.2.0
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 823 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-07-22 [all 1 reports]

Readme for ema-0.12.0.0

[back to package description]

ema

Hackage Naiveté Compass of Mood

Ema is a next-gen Haskell library toolkit for building jamstack-style static sites, with fast hot reload. See ema.srid.ca for further information.

https://user-images.githubusercontent.com/3998/116333460-789c1400-a7a1-11eb-8d28-297c349e42c6.mp4

Hacking

Run just run in the devShell. This runs the Ex04_Multi example.

To run the docs, run nix run .#docs.

Getting Started

https://ema.srid.ca/start

Discussion

To discuss the Ema project, post in GitHub Discussions.