by evanmoran

evanmoran /oj

Unified web templating for the people. Thirsty people.

453 Stars 8 Forks Last release: Not found MIT License 284 Commits 15 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Object-oriented web templating for the people. Thirsty people.





Contact Info

Reach out on irc or email. Log issues on GitHub!

irc: freenode.net #oj

email: evan(at)ojjs.org

twitter: @evanmoran

repo: github.com/ojjs/oj

Change Log:


  • CLI automatically detect --modules-dir
    directory and apply
    option to other directories
  • CLI can defaults --output to
    for simplified usage (this mirrors Express middleware defaults as well)
  • Removing grunt support from OJ's yeoman scaffolding support, because it's unecessary with these CLI improvements


  • Fixes npm modules to specific versions. (latest considered harmful)
  • Fixes insert event being incorrectly called when multiple events are bound


  • Improved minification


  • oj.List.each can accept a ModelView. By default the ModelView will be a child of the
  • element. Optionally the instace have a isListItem=true property, that when set will cause the ModelView to take the place of the
  • instead.
  • OJ Core types like List, Table, CheckBox, now can be replaced by plugins. This is useful on certain "big framework" plugins -- more info coming soon!


  • Express is supported with separate module compiling middleware
  • Yeoman is supported. Install with
    npm install -g generator oj
    and then
    yo oj
  • CLI supports --modules, --js, --css and --html to allow unified or separate compiling in any combination


  • Added AMD support (for RequireJS)
  • Added Bower support (a client side package manager)
  • Fixing oj.toCSS to correctly accept minify option
  • Fixing oj.copyProperty to handle null definitions


  • Adding
    event to tag functions that is triggered when the element is inserted This very fast and does not use DOMNodeInserted.


  • Rewrote oj.js into JavaScript (from CoffeeScript)
  • Minified code is now 16% smaller
  • Performance is 10% faster
  • Removed id generation for root object elements
  • Remove oj.id and oj.guid methods since id generation isn't necessary
  • Removed typeOf method as it was slow and for the most part unused
  • Remove several internal helper functions


  • Fixes npm package management


  • Minor fix to npm package to ensure it works without coffee-script installed globally.


  • Plugins now include themselves once required in node or included with a
     tag client-side
  • Hacker News initial release.


  • Everything works. Time to make it great.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.