A ClojureScript + Om frontend for Kandan. An example app that's actually useful.
- Reasonable mobile support
- Composable plugin system (Thank you real data structures!)
- Mentions
- Emoji
- Youtube/Vimeo/Image embed
- /me support
- Inline-pastie
- RGB/Hex color embed
- Collaborative music player and queueing system
- Real-time narrowing search across people, media, music, and messages
- Keybindings
- Deep-linking
git clone https://github.com/sgrove/omchaya.git
cd omchaya
Omchaya is just for local usage right now. Try a couple of commands:
@mention-a-name
/play <url to an audio-tag-compatible source (mp3, etc.)>
rgb(r,g,b)
#hheexx or #hex
Any youtube/vimeo/img/link will be picked up
Basic pastie support is there
ctrl-/
: Open the history playerctrl-esc
: Open the state (Ankha) inspector in an in-app windowctrl-1
: Change the path to display for the state inspector window
Use the demo branch:
git checkout demo
scripts/run_server.sh
open http://localhost:9000/dev.html
scripts/run_server.sh
This will compile the CLJS code to JS once and start the server hosting the assets.
Start the auto recompiler for the CLJS code:
lein cljsbuild auto
Serve the assets:
python -m SimpleHTTPServer 9000
open http://localhost:9000/dev.html
- Rendering all done via Om/React
- Each component sends app-logic events to router via core.async channels
- State transition managed centrally via controller
- Imperative/side-effects restricted to post-controller
Omchaya uses Om > 0.5.1
to implement IDisplayName
for components, so we can take advantage of the Facebook React Devtools > 0.8
to see the structure of your web app in terms of the components you expect.
Here's an idea of what it looks like - notice the name of the tags shown:
Omchaya is released under the MIT license, see LICENSE for further details.
Copyright (c) 2014 BUSHIDO INC. unless otherwise mentioned.