A Leiningen template for stasis. It has universal rendering, hot-reloading (via Figwheel), css-in-cljs (via garden), and npm dependencies. It is minimal but has some batteries included so you can power all sorts of projects.
- figwheel and live reloading dev awesomeness via boot-figreload
- Static exporting with stasis
- css via boot-garden
- client side routing via bidi
- npm awesomeness. manage your JS dependencies like a communist in Oakland!
- universal/isomorphic/futuristic/blockchain rendering via static html generated to
dist/and a hot reloading ring handler for dev awesomeness
First generate your project:
$ lein new stasis-figwheel-awesomeness butts
Then install npm deps:
$ npm i .
And run it with:
$ boot dev
Figwheel will open your browser and you can start editing your pages.
Note: You'll need npm to because this uses awesome npm libraries like React. Note Note: You can actually skip the npm step at the moment I just documented it here for the future. Thanks current me, you are awesome.
Building and Deploying
You can build it by running
$ npm run build
You can deploy it by pushing
dist/ to your favorite static site host. I highly recommend the static site host everyone wants to work at Netlify.
- remove dependency on npm (when it isn't needed for js stuff or deployment)
- Support multiple frameworks (respo, reagent planned)
- Sqircle support (this is top secret)
- fix the bugs/gotchas (will save this for last and accidentally prioritize new features)
Is this any good?
Yes! And it is entirely harmless! No bitcoin was mined to create this!
If you break your ring config figwheel won't care and won't bother loading it. A good way to catch this a logging statement that checks things are all working. For example:
(println "ring ready! prepare your butts for hyperspace jumps")
Sometimes on a cold boot the ring handler will throw an error page. This is because there are no files ready for it serve in
resources/ and it doesn't like this, waiting a second and then refreshing "fixes" it. Sometimes the future is a lot like PHP.
No questions have been asked yet. What were you expecting here?
Copyright © 2018 K-2052
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.