• Stars
    star
    220
  • Rank 180,422 (Top 4 %)
  • Language
    Clojure
  • License
    MIT License
  • Created almost 11 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ClojureScript + Om client for Kandan (http://kandanapp.com/)

Omchaya

A ClojureScript + Om frontend for Kandan. An example app that's actually useful.

Omchaya Screenshot

Project features

  • 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

Getting the project

git clone https://github.com/sgrove/omchaya.git
cd omchaya

Example usage

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

Debug keybindings

  • ctrl-/: Open the history player
  • ctrl-esc: Open the state (Ankha) inspector in an in-app window
  • ctrl-1: Change the path to display for the state inspector window

I don't have Clojure, but I still want to see it!

Use the demo branch:

git checkout demo
scripts/run_server.sh
open http://localhost:9000/dev.html

Running locally

scripts/run_server.sh

This will compile the CLJS code to JS once and start the server hosting the assets.

Developing locally

Start the auto recompiler for the CLJS code:

lein cljsbuild auto

Serve the assets:

python -m SimpleHTTPServer 9000
open http://localhost:9000/dev.html

Omchaya Design

  • 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 Flow

Facebook React Devtools Support

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:

Facebook React Devtools <3 Omchaya

License

Omchaya is released under the MIT license, see LICENSE for further details.

Copyright (c) 2014 BUSHIDO INC. unless otherwise mentioned.

More Repositories

1

gamma-playground

Examples of how to use ClojureScript's Gamma & Gamma-Driver WebGL libraries
Clojure
60
star
2

om-draggable

A generic draggable-component for Om
Clojure
58
star
3

cucumber_sauce

Run Cucumber tests cross-browser in parallel with the Sauce Labs infrastructure
Ruby
49
star
4

tehila

A 3d engine for Scheme
Scheme
38
star
5

spec_storm

Use database namespacing to run rspec Selenium tests against rails in parallel
Ruby
18
star
6

sul

Intoxicating Datascript + ReactJS experiment
JavaScript
16
star
7

vana-templating

An HTML templating system in Common Lisp, used in the vana web framework
Common Lisp
9
star
8

wasmer-ocaml

C
8
star
9

bushidogem

Bushido Gem
Ruby
8
star
10

om-stack-panel

An experiment in a virtualized stack-panel Om component
Clojure
7
star
11

reactiveconf-2017-reasonml-workshop

Reactiveconf 2017 ReasonML workshop
JavaScript
7
star
12

rspec_sauce_webinar

RSpec and Sauce Labs webinar material
Ruby
6
star
13

vana

A budding web framework in common lisp
Common Lisp
6
star
14

gamma-inspector

A multi-purpose tool for Gamma applications
Clojure
6
star
15

vana-inflector

A port of rails' inflector to common lisp
Common Lisp
6
star
16

graphql-workshop

OCaml
5
star
17

bushido_html5_starter_app

A starter HTML5 app for Bushido. Just fork, click deploy, and your app is out in the world!
JavaScript
5
star
18

rspec_sauce

Examples for using rspec and Sauce OnDemand
Ruby
5
star
19

newsful

Community news site, like hacker news or reddit. Launchable on Bushido.
Ruby
5
star
20

dc

Simplified syntax for creating Om components
Clojure
5
star
21

powertiller

OCaml
5
star
22

nextjs-reason-urql

JavaScript
5
star
23

blog

Thoughts, thoughts, and more idle thoughts.
JavaScript
4
star
24

riseos

Source for a unikernel website, with unix dev flow and reactjs bindings
CSS
4
star
25

age-of-reason

4
star
26

milo_dead

CoThink's Rails-based translation app, just to be used as a stepping stone.
Ruby
3
star
27

odooml

OCaml
3
star
28

cljs-2048

I'll give you 3 guesses.
Clojure
3
star
29

treasons

ReasonReact/GraphQL/Next.js/Tailwind streaming overlay
Reason
3
star
30

not-lathe

ReScript
2
star
31

WhyReasonSucks

JavaScript
2
star
32

esy-cohttp-example

Use esy/pesy/cohttp/async to make a GraphQL request to OneGraph over HTTP from a ReasonNative app
OCaml
2
star
33

om-reusable-components-presentation

Ahem
2
star
34

scheme-sauce

Gambit Scheme bindings for selenium
Scheme
2
star
35

dirtybort

The redesign of CoThink's collaboration platform built on rails, initially started on January 4th, 2009 at 1:01AM.
Ruby
2
star
36

testng_sauce

Recommended setup for TestNG on Sauce Labs
1
star
37

graph-loading-problem

JavaScript
1
star
38

Jelly

Jelly is meant to be a configurable status board for large-screen monitors/kiosks. We'll see how far it actually gets though.
Clojure
1
star
39

haipo

JavaScript
1
star
40

clojure-dojo-1

Scraping HN into datomic
1
star
41

auth-guardian-next-js-starterkit

JavaScript
1
star
42

core.async_battleship

Experiments with core.async
JavaScript
1
star
43

raejs

It's a rails-inspired framework for node.js
1
star
44

talks

JavaScript
1
star
45

native-reason

JavaScript
1
star
46

cas_fuji

Sinatra-implementation of the CAS server protocol
Ruby
1
star
47

wikiparanode

Simple node.js project to download a single (random) paragraph from wikipedia
1
star
48

reason-jwt-esy-test

1
star
49

video-demo

JavaScript
1
star
50

cnrelief

Codename Relief
Ruby
1
star
51

hookchain

JavaScript
1
star
52

authguardian-react-starter-99

JavaScript
1
star
53

js-is-hard

JavaScript
1
star
54

hudson-sauce

A sample Hudson, Selenium, and Sauce Labs project
Python
1
star
55

linzumi-coming-soon

TypeScript
1
star
56

xiang_qi

XiangQi (Chinese-chess) iPhone app built on Cocos2d framework
C
1
star
57

npm-replicate-follower

JavaScript
1
star
58

next-netlify-graph-test

JavaScript
1
star
59

netlify-onegraph-internal

TypeScript
1
star
60

ROI-Calculator

Simple little calculator, don't look here
JavaScript
1
star
61

battlehaskell

Just a basic battleship-like app
Haskell
1
star
62

bf-cli

OCaml
1
star