9ab1f52a1c
* WIP: new hydration methods * refactor: genericize load/idle/visible renderers * fix: do not pass "data-astro-id" to component * docs: add hydration section to README * docs: update README Co-authored-by: Nate Moore <nate@skypack.dev>
1.1 KiB
1.1 KiB
👩🚀 Astro
A next-generation static-site generator with partial hydration. Use your favorite JS framework and ship bare-minimum JS (or none at all!).
🔧 Setup
npm install astro
TODO: astro boilerplate
💧 Partial Hydration
By default, Astro outputs zero client-side JS. If you'd like to include an interactive component in the client output, you may use any of the following techniques.
MyComponent:load
will renderMyComponent
on page loadMyComponent:idle
will userequestIdleCallback
to renderMyComponent
as soon as main thread is freeMyComponent:visible
will use anIntersectionObserver
to renderMyComponent
when the element enters the viewport
🧞 Development
Add a dev
npm script to your /package.json
file:
{
"scripts": {
"dev": "astro dev ."
}
}
Then run:
npm run dev
🚀 Build & Deployment
Add a build
npm script to your /package.json
file:
{
"scripts": {
"dev": "astro dev .",
"build": "astro build ."
}
}
Then run:
npm run build
Now upload the contents of /_site_
to your favorite static site host.