DailyJS

Node Roundup: Video Gallery, Restie, xml-literals, Revised Console

Alex R. Young

Subscribe

@dailyjs

Facebook

Google+

node modules

Node Roundup: Video Gallery, Restie, xml-literals, Revised Console

Posted by Alex R. Young on .
Featured

node modules

Node Roundup: Video Gallery, Restie, xml-literals, Revised Console

Posted by Alex R. Young on .
You can send in your Node projects for review through our contact form or @dailyjs.

App: Video Gallery

Video Gallery screenshot

Video Gallery (GitHub: meloncholy / node-video-gallery, License: MIT) by Andrew Weeks is a Metro-inspired video gallery written with Express, Jade, and MySQL.

It's got JSON configuration files, separated routes, and lots of fancy front-end effects. There's a blog post about it here: Node.js Video Gallery.

Restie

Restie (License: MIT, npm: restie) by Vadim Demedes is an ORM that behaves the same in Node and browsers. Models can be declared then manipulated with the familiar CRUD methods, in a similar fashion to Backbone.js.

var Post = Restie.define('Post');

Post.all(function(err, posts) {  
  // GET /posts/
});


Post.find_by_id(1, function(err, post) {  
  // DELETE /posts/1
  post.remove(function(err) {
    // Post removed
  });
});

The author has included tests that run in both browsers and Node.

xml-literals

xml-literals (npm: xml-literals) by Marcel Laverdet adds Node support for E4X-style XML literals:

var anchor = <a href={href}>Hello</a>;  

To mix XML and JavaScript this way, the xml-literals module has to register a file extension first, then files that contain XML literals can be loaded. The following example would make subsequent require calls able to load files that include XML literals:

require('xml-literals').register('js');

// This file contains XML literals
require('my-xml-literal-example');  

Revised Console

Revised Console (License: MIT, npm: rconsole) by Thomas Blobaum provides C bindings for syslog and makes the console methods log to syslog. This would log to /var/log/messages (depending on the OS):

require('rconsole')  
console.log('hello world')  

The author has included an example of using Express' express.logger to log to syslog, which strikes me as potentially useful for production web apps.