UI template for om, mesh, and core.async
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
env/dev
lein
mini/schengen
resources/public
scripts
src
test/mala
.gitignore
LICENSE
README.md
project.clj

README.md

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

Clojars Project

License

Copyright © 2016 Priyatam Mudivarti.

Released under the Eclipse Public License, same as Clojure.