{"repo":"noahlh/celestite","free":true,"listed":false,"github":"https://github.com/noahlh/celestite","clone":"git clone https://github.com/noahlh/celestite.git","description":"Beautifully reactive, server-side rendered Svelte apps w/ a Crystal backend","language":"JavaScript","stars":238,"topics":["crystal","framework","web","ssr","amber","amber-framework","universal","isomorphic","svelte","sapper"],"license":"MIT","category":"ui-components","readme_excerpt":"celestite Crystal + Svelte = :zap: Celestite allows you to use the full power of Svelte reactive components in your Crystal web apps. It's a drop-in replacement for your view layer -- no more need for intermediate .ecr templates. With celestite, you write your backend server code in Crystal, your frontend client code in JavaScript & HTML, and everything works together seamlessly...and fast. Introduction Read the full introductory blog post here. Requirements - Crystal 1.0.0+ - Bun 1.0+ (for the SSR render server) Installation THIS IS PREVIEW / EARLY ALPHA SOFTWARE This is not much more than a proof-of-concept at the moment, but it does work! Standard warnings apply - it will likely break/crash in spectacular and ill-timed glory, so don't poke it, feed it past midnight, or use it for anything mission-critical (yet). Celestite has been developed / tested with Kemal, but there's no reason it won't work with Amber, Lucky, Athena, etc. (but no work integrating with those has been done yet.) The steps below assume you'll be working with Kemal. 1. Add celestite to your application's shard.yml and run shards install The postinstall hook will automatically install JavaScript dependencies via Bun. 2. Include the helper: For Kemal: 3. Add initialization code Create an initializer file (e.g., /config/initializers/celestite.cr ): See example config for more options. 4. Add a static route for your build dir For Kemal: 5. Add your .svelte files and start building! Name your root component i","default_branch":null,"files":null,"tree":[],"storefront":"/r/noahlh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/noahlh/celestite/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}