mirror of
https://github.com/srid/ema.git
synced 2024-11-25 20:12:20 +03:00
Prep for hackage release
This commit is contained in:
parent
0f1ceb464f
commit
e5d77e1e92
@ -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.
|
||||
|
24
README.md
24
README.md
@ -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
|
||||
|
@ -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}
|
||||
|
21
ema.cabal
21
ema.cabal
@ -6,7 +6,15 @@ 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
|
||||
default: True
|
||||
@ -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
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user