What's Next After 2.0? #200
dillonkearns
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Here are some ideas that are on my mind after releasing elm-pages 2.0. There's no set timeline for any of these and they may end up being rethought or not being priorities, but I wanted to get my current thoughts down for future reference and for anyone who is interested. Feedback and other ideas are welcome!
These items are roughly in order.
elm-review integration
Goals:
Error feedback for invalid routes
RouteParams "/"
orRouteParams ""
, should be build errors most likely. Otherwise the user can create routes that will do nothing but give no feedback so they are silently failing effectively.elm-markdown scaffolded
Goal:
DataSource
within the coredillonkearns/elm-markdown
package. Philipp's package has some helpers for this, but it's somewhat advanced to reach for that extra package and know how to set it up. It should be in the path of least resistence to be able to use DataSource fromelm-markdown
.elm-markdown
. What should the plugins setup look like? Right now, I have a folder of common plugins I use in my own personal projects that includes adistill
helper to get optimized markdown.dillonkearns/elm-markdown
Serverless/On-Demand Builders
Goal:
DataSource.ServerRequest
module, to allow a page to depend on HttpRequest info (similar to the information you would use in thereq
argument of an ExpressJS appBetter DataSource.Port caching
Goal:
elm-pages
has no way to know that it should bust the cache whenever that file changes. Maybe there could be a JavaScript function within ports (injected as an argument?) to let the user say which files to watch for this port to bust its cache?404 page helper
Goal:
Script tag API
Goals:
dark-mode
class to body to avoid flash)Optimize Shared.Data
Goals:
API for offline PWA support
Goals:
content.json
for a given page to make a high-level API that lets you say which caching strategy (stale-while-revalidate, offline-ready, etc., using workbox under the hood) to enable users to make any page available offline, and take care of caching the skeleton to make the app installableCheck for version when navigating to page
Goals:
DataSource
for the page, and if it fails it does a full-page navigation.OptimizedDecoder optionalField optimization
Goal:
zwilias/elm-json-exploration
uses avalue
decoder withandThen
to do optional fields. This gets the correct result, but deoptimizes the JSON stripping of unused fields because it considers the entire JSON to be used for that section that was decoded withvalue
. It would be nice to make a contribution to the upstream package to make optionalField optimized.Preview mode
Goal:
Improve DataSource.map2/combine performance?
Customizable templates
Similar to elm-spa, it would be nice to have a way to customize the
elm-pages add ...
templates.API to control dev server caching for
DataSource.Http
elm-pages dev --keep-cache
, but maybe there could be a way to set the time-to-live for cached responses?Clean up SEO API
Beta Was this translation helpful? Give feedback.
All reactions