1
1
mirror of https://github.com/srid/ema.git synced 2024-11-29 09:25:14 +03:00

Prep for hackage release

This commit is contained in:
Sridhar Ratnakumar 2021-04-26 14:22:49 -04:00
parent 0f1ceb464f
commit e5d77e1e92
5 changed files with 13 additions and 37 deletions

View File

@ -1,5 +1,5 @@
# Revision history for ema
## 0.1.0.0 -- YYYY-mm-dd
## 0.1.0.0 -- 2021-04-26
* First version. Released on an unsuspecting world.

View File

@ -17,27 +17,3 @@ main = do
## Hacking
Run `bin/run` (or <kbd>Ctrl+Shift+B</kbd> in VSCode). This runs the documentation example; modify `./.ghcid` to run a different example, such as the clock example - which updates every second, demonstrating hot reload.
## TODO
- [x] MVP
- [x] Implement hot reload, and ditch browser-sync
- [x] server to client refresh
- [x] client to server reconnect (on ghcid reload, or accidental client disconnect)
- [x] or, investigate https://hackage.haskell.org/package/ghci-websockets
- [x] Multi-websocket-client support
- [x] Static site generation mode
- [x] add common examples,
- [x] filesystem watcher
- [x] docs site for self (w/ breadcrumbs and possibly even search)
pre-announce,
- CLI UX
- [x] opts
- [x] logging
- Expose it to apps (inc/ helpers) in a simple way
- [x] [deal with errors](https://github.com/srid/memoir/issues/1)
- [x] How to serve non-generated files (css, img, etc.)
- [ ] Publish Data.LVar to Hackage
- [ ] documentation ([guide](https://documentation.divio.com/))
- [x] Avoid tailwind CDN in docs (use twind or windicss) for better lighthouse score

View File

@ -7,6 +7,8 @@ TODO
- Any Haskell type
- Stored in `LVar` to enable hot-reload
- `LVar.set` and `LVar.modify`
- When the program starts up, set the initial value
- Over time, use LVar.modify (or LVar.set) to update it based on changes (eg: filesystem)
- `runEma`
{.last}

View File

@ -6,6 +6,14 @@ copyright: 2021 Sridhar Ratnakumar
maintainer: srid@srid.ca
author: Sridhar Ratnakumar
category: Web
synopsis: Static site generator library with hot reload
bug-reports: https://github.com/srid/ema/issues
homepage: https://ema.srid.ca/
description:
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.
flag with-examples
description: Include examples and their dependencies
@ -15,15 +23,6 @@ flag with-helpers
description: Include helper modules based on blaze-html
default: True
-- A short (one-line) description of the package.
-- synopsis:
-- A longer description of the package.
-- description:
-- A URL where users can report bugs.
-- bug-reports:
extra-source-files:
CHANGELOG.md
LICENSE
@ -38,7 +37,7 @@ library
build-depends:
, aeson
, async
, base ^>=4.14.1.0
, base >=4.13.0.0 && <=4.17.0.0
, containers
, data-default
, directory

View File

@ -14,7 +14,6 @@ where
import Control.Concurrent (threadDelay)
import Control.Exception (finally)
import Control.Monad.Logger
import Ema.App (MonadEma)
import System.Directory (canonicalizePath)
import System.FSNotify
( ActionPredicate,