5 Content Management or Blog Publishing Systems Written in Node.js

Although the main uses of Node.js that we keep hearing about are either real-time messaging systems like Voxer or machine-to-machine communications systems like DTrace, Node.js can also be used for traditional scripting projects like creating content management systems or blog engines. It’s still early, and the tools here are still pretty much geek-only apps for those comfortable with using the command line. But those wanting to learn more about Node.js, or just really want a simple asynchronous CMS, can check these projects out.


Wheat, a blogging engine created by Tim Caswell, is one of the oldest Node.js blogging engines available. It takes a folder full of markdown formatted text files from git and renders them as HTML. In my interview with him on theCube, Caswell explained that he didn’t originally plan for anyone else to use Wheat, but he put it in GitHub and soon started seeing sites running on Wheat and using his default templates.

Wheat is part of a trend of coder-oriented lightweight blogging tools that harken back to the early days of blogging, when tools like Radio Userland and Bloxsom were (relatively) popular. It’s pretty geeky, but someone looking for an alternative to Jekyll or Octopress written in Node.js should check it out.


Scotch is similar to Wheat in that it renders markdown pages. Unlike Wheat, however, it has a caching system built with the NoSQL datastore Redis.

“Jekyll is very similar to Scotch in that Jekyll generates a static site based on markdown files,” says Scotch creator Daniel Erickson. “It’s different in that there is no build step needed. When a Scotch server starts up, it scans the posts directory for files and slurps the data into a Redis cache. Scotch also watches that directory for changes, so you don’t have to redeploy the whole site to get it to see new blog posts.”

RELATED:  Chrome update will speed web pages with better memory usage


Blacksmith is another static site generator written in Node.js. Inspired by Jekyll, it aims to be a full content management system for those wanting a “baked” site. It was created by Node.js platform-as-a-service provider Nodejitsu and powers the company’s site.


Calipso screenshot

For those wanting more, check out Calipso, a CMS built with Node.js, the Express framework and MongoDB. Calipso aims to one day compete with WordPress and Drupal, and is adding more advanced features such as content types.

Node.js CMS and MVC Framework

Node.js CMS and MVC Framework is more barebones, something a bit more like Django – a framework for building CMSes. It’s being used to run a few Czech websites.

Klint Finley

Klint Finley is a Senior Writer at SiliconAngle. His specialties
include IT services, enterprise technology and software development.
Prior to SiliconAngle he was a writer for ReadWriteWeb. He's also a
former IT practicioner, and has written about technology for over a
decade. He can be contacted at angle@klintfinley.com.


Join our mailing list to receive the latest news and updates from our team.


Join our mailing list to receive the latest news and updates from our team.


  1. Good Article.

    I didn’t know Blacksmith, Thank you!

    I love CMS and I’m developing blog engine on Node, “LooseLeaf.JS”. It’s very simple, no DB, full JSON based. Please check it out http://looseleafjs.org/

  2. Curious to know why DocPad was not included on this list? – http://docpad.org – it has static site generation abilities like Wheat, Scotch, and Blacksmith – though unlike Wheat and Scotch, it is actually maintained, has the biggest eco system out of all of them, and plenty of sites in production are already using it – http://bevry.me/docpad/showcase
    Calipso seems nice, but does anyone actually use it in production yet? Would love to see a showcase of sites actually built with it.

  3. balupton  +1, DocPad should be included in the list, it’s well documented and it’s folder structure is well designed. Many people starred it on github and it has a HUGE list of extensions. 
    I probably will use it for the new version of my http://liveditor.com website (a live html/css text editor).

Submit a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Share This

Share This

Share this post with your friends!