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:
parent
0f1ceb464f
commit
e5d77e1e92
@ -1,5 +1,5 @@
|
|||||||
# Revision history for ema
|
# 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.
|
* First version. Released on an unsuspecting world.
|
||||||
|
24
README.md
24
README.md
@ -17,27 +17,3 @@ main = do
|
|||||||
## Hacking
|
## 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.
|
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
|
- Any Haskell type
|
||||||
- Stored in `LVar` to enable hot-reload
|
- Stored in `LVar` to enable hot-reload
|
||||||
- `LVar.set` and `LVar.modify`
|
- `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`
|
- `runEma`
|
||||||
|
|
||||||
{.last}
|
{.last}
|
||||||
|
21
ema.cabal
21
ema.cabal
@ -6,7 +6,15 @@ copyright: 2021 Sridhar Ratnakumar
|
|||||||
maintainer: srid@srid.ca
|
maintainer: srid@srid.ca
|
||||||
author: Sridhar Ratnakumar
|
author: Sridhar Ratnakumar
|
||||||
category: Web
|
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
|
flag with-examples
|
||||||
description: Include examples and their dependencies
|
description: Include examples and their dependencies
|
||||||
default: True
|
default: True
|
||||||
@ -15,15 +23,6 @@ flag with-helpers
|
|||||||
description: Include helper modules based on blaze-html
|
description: Include helper modules based on blaze-html
|
||||||
default: True
|
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:
|
extra-source-files:
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
LICENSE
|
LICENSE
|
||||||
@ -38,7 +37,7 @@ library
|
|||||||
build-depends:
|
build-depends:
|
||||||
, aeson
|
, aeson
|
||||||
, async
|
, async
|
||||||
, base ^>=4.14.1.0
|
, base >=4.13.0.0 && <=4.17.0.0
|
||||||
, containers
|
, containers
|
||||||
, data-default
|
, data-default
|
||||||
, directory
|
, directory
|
||||||
|
@ -14,7 +14,6 @@ where
|
|||||||
import Control.Concurrent (threadDelay)
|
import Control.Concurrent (threadDelay)
|
||||||
import Control.Exception (finally)
|
import Control.Exception (finally)
|
||||||
import Control.Monad.Logger
|
import Control.Monad.Logger
|
||||||
import Ema.App (MonadEma)
|
|
||||||
import System.Directory (canonicalizePath)
|
import System.Directory (canonicalizePath)
|
||||||
import System.FSNotify
|
import System.FSNotify
|
||||||
( ActionPredicate,
|
( ActionPredicate,
|
||||||
|
Loading…
Reference in New Issue
Block a user