Mala
A UI template (and reference app) built on Om, with modular components, router, async event handling, and responsive design with an emphasis on using Clojurescript all the way.
Features
- Project structure for design and ui components
- Integrated Om components
- Responsive Design with Clojurescript using Mesh (not bootstrap, not less/sass)
- Core.async
- Reloadable code with Figwheel
- Routing with Secretary
- Mock api server with real Compojure routes
- Curated cljsjs libraries
- Integrated Ankha inspector, Om-i instrumentation
- Strictly follows Om releases
Quickstart
lein new mala chant
cd chant
The generated src looks like this:
src
βββ layout
β βββ grid.clj
β βββ index.clj
β βββ typography.clj
βββ ui
βββ client.cljs
βββ components
βββ <comp>.cljs
βββ <comp-style>.cljs
βββ router.cljs
βββ state.cljs
βββ types.cljs
βββ utils.cljs
βββ core.cljs
env
βββ dev
βββ mock.clj
βββ repl.cljs
βββ debug.cljs
Start figwheel, watch garden, and a figwheel server integrated with mock router:
lein dev
Open http://localhost:3449/
and look for a Cljs brepl on the prompt.
Emacs Cider users can start a repl with the following commands
M-x cider-connect <RET>
localhost <RET>
7888 <RET>
(at the prompt ...)
(use 'figwheel-sidecar.repl-api)
(cljs-repl)
Ready to deploy? Generate an optimized js file
lein release
Wiki
For more info, see the wiki.
Leiningen Template
A lein-template based on this reference app is under lein
. Significant changes
in the project structure and dependencies will be updated both in the reference
app and leiningen template.
For a production-ready Ring server template for building tiny services, see my other template, ring-micro.
Credits
A big thanks to @swannodette for Om, Joel Holbrooks for Garden, and Bhauman for Fighweel. Some code samples were copied from:
Status
License
Copyright Β© 2016 Priyatam Mudivarti.
Released under the Eclipse Public License, same as Clojure.