1
1
mirror of https://github.com/srid/ema.git synced 2024-12-02 09:15:10 +03:00
Commit Graph

161 Commits

Author SHA1 Message Date
Sridhar Ratnakumar
dafd559a83 Fix CI again 2021-04-24 12:14:32 -04:00
Sridhar Ratnakumar
bb1821e094 ci: fix nix run 2021-04-24 12:08:12 -04:00
Sridhar Ratnakumar
e9cd43723d
Publish docs to GitHub Pages (#15) 2021-04-24 12:04:16 -04:00
Sridhar Ratnakumar
dd97398be8 Add breadcrumb styling 2021-04-24 11:35:52 -04:00
Sridhar Ratnakumar
7c714ef771
Add documentation site example (#14)
Add documentatin site example

* Repurpose the third example for documentation

* No need for a separate route type

We can repurporse the source path as route.

* Add markdown parser via commonmark

* Read .md files recursively

* Add Ema.Helper.FileSystem (fsnotify code)

* Pandoc Blaze renderer (not complete)

* Rewrite links in Pandoc AST to use routes

* Start syling AST elements

* Basic breadcrumbs

* finalize
2021-04-23 22:00:46 -04:00
Sridhar Ratnakumar
b224be2bae Allow disabling helpers (tailwind) via cabal flag 2021-04-22 18:12:11 -04:00
Sridhar Ratnakumar
d140e74832 Better name 2021-04-22 18:05:36 -04:00
Sridhar Ratnakumar
9f5222ce27
Merge pull request #13 from srid/gen-static
Add command to generate site; and revamp typeclass API
2021-04-22 17:40:54 -04:00
Sridhar Ratnakumar
ff29619f72 Expose runEmaWithAction 2021-04-22 17:35:17 -04:00
Sridhar Ratnakumar
1956ca1020 Add missing directory dependency 2021-04-22 17:08:57 -04:00
Sridhar Ratnakumar
d0213b2555 Refactor examples 2021-04-22 17:06:04 -04:00
Sridhar Ratnakumar
0d5e815e76 Avoid AllowAmbiguousTypes using fundeps 2021-04-22 16:54:45 -04:00
Sridhar Ratnakumar
bc8289a6cb Document the type-class and adjust a few things 2021-04-22 16:46:02 -04:00
Sridhar Ratnakumar
d83611a3e1 Introduce Ema type-class
Replacing IsRoute type class.

The new type-class is useful for a 3rd method, `modelRoutes` that returns all routes for the given model. IsRoute cannot do this, as it is not parametrized over model.
2021-04-22 16:39:06 -04:00
Sridhar Ratnakumar
8c783ffc23 Create intermediate directories 2021-04-22 16:11:21 -04:00
Sridhar Ratnakumar
2c6e5563fe Add "generate" subcommand to generate static site 2021-04-22 15:57:31 -04:00
Sridhar Ratnakumar
dffe348caa Reduce reconnect delay
This does have the effect of unnecessary errors on console, but we can't avoid it.
2021-04-22 13:54:54 -04:00
Sridhar Ratnakumar
14ffcdd1cd
Speed up hot reload using Dom patching (#11)
* Speed DOM replace using patch via morphdom

* Don't send JS shims when sending HTML down websocket

Don't need.

* Fix a bug with recursive route switch

* Iron out some bugs
2021-04-22 13:53:22 -04:00
Sridhar Ratnakumar
7c7df0cb63
Smooth route click (#9)
* misc

* Ugly, but works!

* refactor server

* better names

* document the server logic

* Remove refreshPage, no longer used

* refactor ws client
2021-04-22 10:34:01 -04:00
Sridhar Ratnakumar
0f3f2b5932
Update README.md 2021-04-22 06:56:02 -04:00
Sridhar Ratnakumar
15eeeb8816 Allow changing route url strategy 2021-04-21 20:43:38 -04:00
Sridhar Ratnakumar
d91fe487a6 Add script to run via tmux
Because ghcid reloads leaves ghost threads sometime, when reloading VSCode.

And disable launch-when-open in VSCode for that reason.
2021-04-21 20:43:03 -04:00
Sridhar Ratnakumar
82b3fc826a Ema.Helper.TailWind - finalized
- clean up twind shims
- remove google fonts
2021-04-21 16:15:58 -04:00
Sridhar Ratnakumar
f1428dc6c1 Fix a bug in parent (client not replacing HTML after ghcid reload) 2021-04-21 15:48:01 -04:00
Sridhar Ratnakumar
a1c9167b53
Merge pull request #6 from srid/ghcid-reload-smooth-ux
Smooth hot reload during ghcid reload + Ema status indicators
2021-04-21 15:23:02 -04:00
Sridhar Ratnakumar
9d81ca3db3 update README for the PR 2021-04-21 15:21:03 -04:00
Sridhar Ratnakumar
61723ead42 Add Ema status indicator animation
This mostly uses code from @TheMatten
2021-04-21 15:18:57 -04:00
Sridhar Ratnakumar
9aca9d61c9 Reconnect websocket, instead of full-page refresh
Simplistic wait of 1s; no exponential retry (yet).
2021-04-21 14:52:00 -04:00
Sridhar Ratnakumar
7bf014799e LVar: listen only on demand
Continuous update spams the browser. On demand listening allows us to wait till the browser actually requests for update after it has had the time to refresh HTML in DOM.

Fixes #5
2021-04-21 13:22:26 -04:00
Sridhar Ratnakumar
3b8b01319d runEma: even more simplified 2021-04-21 00:39:04 -04:00
Sridhar Ratnakumar
542b753167 Fix LVar.set to work with empty TMVars 2021-04-21 00:35:34 -04:00
Sridhar Ratnakumar
613194d359 Allow overriding port using $PORT
Useful as a interim solution to #4
2021-04-21 00:17:56 -04:00
Sridhar Ratnakumar
5e8b0b7d43 Simplify runEma API so race_ is not needed in user programs 2021-04-21 00:05:31 -04:00
Sridhar Ratnakumar
2d87a984fb Expose some modules 2021-04-20 18:14:13 -04:00
Sridhar Ratnakumar
cd78180fc4 Add default.nix for legacy nix 2021-04-20 18:00:55 -04:00
Sridhar Ratnakumar
221d2fea07 ... 2021-04-20 17:51:14 -04:00
Sridhar Ratnakumar
a36d347925 LVar: actually stop listening after @ignore@ 2021-04-20 17:36:28 -04:00
Sridhar Ratnakumar
6da1d04c02 Cleanup LVar 2021-04-20 17:23:23 -04:00
Sridhar Ratnakumar
1adedf6f65 Get rid of the Ema type 2021-04-20 17:12:20 -04:00
Sridhar Ratnakumar
8bd0b0838d Changing -> Data.LVar 2021-04-20 17:09:37 -04:00
Sridhar Ratnakumar
e4bc39ec5b diary: use repo diary by default 2021-04-20 15:24:55 -04:00
Sridhar Ratnakumar
7bd0ba6806 Revert .ghcid to clock example 2021-04-20 15:23:21 -04:00
Sridhar Ratnakumar
0d35adf0a5 Add logo 2021-04-20 15:20:12 -04:00
Sridhar Ratnakumar
3cb3154706
Add Diary example using org-mode and fsnotify (#2)
* Dairy example, prototype. Without fsnotify.

* Add basic org renderer

* Rough version of fswatcher

* Refactor, and add example org notebook
2021-04-20 15:04:48 -04:00
Sridhar Ratnakumar
ca47adc643 Add a flag to disable inclusion of examples 2021-04-20 12:36:53 -04:00
Sridhar Ratnakumar
593bc9c49e Fix incorrect port 2021-04-20 11:14:29 -04:00
Sridhar Ratnakumar
c8ef3753b7 Rename examples 2021-04-19 20:49:46 -04:00
Sridhar Ratnakumar
487a1c0aae make publish private 2021-04-19 20:18:50 -04:00
Sridhar Ratnakumar
acccb74bb4 Support multiple websocket clients for hot reload 2021-04-19 20:05:18 -04:00
Sridhar Ratnakumar
86040f9dc3 plan... 2021-04-19 18:52:37 -04:00