Major Geddy updates

2012-08-23 22:10:09

In the most recent round of updates, Larz Conwell has done a shit-ton of amazing work on templates: making the templating system play nicely with various formats: EJS, Mustache, and Jade. It can now happily figure out what sort of template from the file-extension, and you can even mix and match different formats together in layouts/partials.

He's also implemented Rails-like view-helpers like urlFor and linkTo, making your views simpler and more DRY.

Last but not least, he's vastly improved the generators to support full scaffold-generation, not just minimal resources.

What else is changing?

There's a lot of work happening on Geddy -- mostly breaking the project apart to make it more modular.


The large set of utility functions (most of which originated in the now-ancient Fleegix.js library) have been pulled out into their own library, Utilities.

This classic collection of JavaScript utilities is of course available on NPM. String-manipulation, datetime stuff, mixin, filesystem utilities -- there's a ton of useful shit in there.


Even more importantly, the Geddy model code now resides in a separate project, simply called Model, which is a general-purpose, datastore-agnostic ORM library in JavaScript.

I built Postgres support first, but back-porting Geddy's existing support for MongoDB, and building a Riak adapter, are next in line. Model is also installable via NPM, but documentation hasn't moved over from the Geddy project, so it's still rather DIY.

When is this happening?

The libraries are usable as-is, but the Geddy work for this lives in a branch -- but as you see, it's solid enough to build real applications with, so it will be landing soon. I'm pretty excited to have a solid framework for building Web apps like this in JavaScript.


This is the blog for Matthew Eernisse. I currently work at Yammer as a developer, working mostly with JavaScript. All opinions expressed here are my own, not my employer's.


Previous posts

All previous posts ยป

This blog is a GeddyJS application.