diff --git a/.vscode/settings.json b/.vscode/settings.json index c64e200..80cc44e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,6 @@ "hookable", "mcfly", "mcflyjs", - "nitropack", "ultrahtml", "unstorage" ], diff --git a/README.md b/README.md index 7583d1f..efcac10 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,13 @@ I thought: ## Project Status -We are currently in a Proof of Concept phase. All parts are subject to breaking changes in minor releases. +We are currently in a focused rewrite. All parts are subject to breaking changes in minor releases. -πŸ‘‰ [Road to v1.0.0 todo items](https://github.com/ayoayco/McFly/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av1.0.0) +- [x] file-based API routing via fastify as server framework +- [ ] file-based HTML pages routing & templating via Eta +- [ ] auto-registry of custom elements +- [ ] SSR custom elements +- [ ] SSG ## Try it today @@ -39,15 +43,7 @@ Run the following to generate a McFly starter project. npm create mcfly@latest ``` -## How it works (for the nerds) - -It is primarily a runtime middleware for [Nitro](https://nitro.build). Every time a page is requested, the McFly middleware intercepts and assembles the view for the requestor. McFly does this with the assets it knows about which are mostly: pages, components, public assets. Additionally, Nitro is also capable of generating static assets on build time. - -These patterns are commonly referred to as Server-Side Rendering and Static Site Generation (SSR & SSG). - -The idea is to have a plugin system which allows for the core functionality to only "lean" on web platform features. Anything not yet a standard is implemented as a plugin which will be easily "swapped" away when the platform catches up. - -## Features +## Target Features βœ… Use vanilla custom elements (or sugar-coated web components)
βœ… Write server-powered .html pages
@@ -57,19 +53,7 @@ The idea is to have a plugin system which allows for the core functionality to o ## Special directories -**1. `./src/pages/`** - -- file-based routing for `.html` files -- directly use custom elements & static fragments (no imports or registry maintenance needed) -- use `