mirror of
https://github.com/srid/ema.git
synced 2024-11-25 20:12:20 +03:00
2.8 KiB
2.8 KiB
Revision history for ema
Unreleased (0.2.0.0)
- TODO(doc) runEma's action gets the
CLI.Action
as argument, to prevent thegen
command from needing to monitoring files. - Live Server
- Avoid unncessary DOM patch on page load
- Handle invalid routes gracefully without breaking websocket
- Re-add
<script>
tags on hot reload - Scroll to top on route switches
Asset
type- Introduce the
Asset
type to distinguishing between static files and generated files. The later can be one ofHtml
orOther
, allowing the live server to handle them sensibly. Ema
typeclass:- Drop
staticAssets
in favour ofallRoutes
(renamed fromstaticRoutes
) returning all routes including both generated and static routes. - Drop
Slug
and use plainFilePath
. Route encoder and decoder deal directly with the on-disk path of the generated (or static) files.
- Drop
- Make the render function (which
runEma
takes) return aAsset LByteString
instead ofLByteString
such that it can handle all routes, and handle static files as well as generation of non-HTML content (eg: RSS) - Allow copying static files anywhere on the filesystem
- Introduce the
routeUrl
:- Unicode normalize as well URI encode route URLs
- now returns relative URLs (ie. without the leading
/
)- Use the
<base>
tag to specify an explicit prefix for relative URLs in generated HTML. This way hosting on GitHub Pages without CNAME will continue to have functional links.
- Use the
- Fix: prevent encoding of non-HTML paths
- Now takes the
model
type as argument, inasmuch asencodeRoute
takes it as as well (to accomodate scenarios where route path can only be computed depending on model state; storing slug aliases for instance) - Add
routeUrlWith
for non-pretty URLs
Ema.Slug
- Add
Ord
,Generic
,Data
and Aeson instances toSlug
- Unicode normalize slugs using NFC
- Add
decodeSlug
andencodeSlug
- Add
- Add default implementation based on Enum for
allRoutes
- Warn, without failing, on missing static assets during static generation
- Static generation
- Use block buffering to prevent logging from slowing down site generation
- CLI
- Removed
-C
argument (orthogonal to Ema)
- Removed
- Helpers
- Helpers.FileSystem
- add
mountOnLVar
- TODO(doc) gracefully handle user exceptions
- add
- Helpers.Tailwind
- add overflow-y-scroll to body
- Add twind shim before application's head
- CDN: Use latest version always.
- TODO(doc) Helpers.Markdown (to be moved to Hackage eventually)
- add helpers to parse markdown;
parseMarkdownWithFrontMatter
andparseMarkdown
- add helpers to parse markdown;
- TODO(doc) Add
Ema.Helper.PathTree
- Helpers.FileSystem
- Examples
Remove Ex03_Documentation.hs (moved to separate repo,Back to ./docs, but using Emanote.ema-docs
)- Add Ex03_Basic.hs example
0.1.0.0 -- 2021-04-26
- First version. Released on an unsuspecting world.