Wintersmith: Plugin-based static site generator built on Node.js

Wintersmith logo

http://wintersmith.io/

From the website:

Wintersmith tries not to put any limitations on how you work with your content. You can transform it using plugins and structure it as you please.

No special directories or odd metadatafiles, just a directory structure. This means that you can simply throw in your old hand-crafted static site or content from other generators.

Use your favorite templating engine, it comes bundled with a Jade plugin and there is community made plugins for most other node.js templating engines.

Wintersmith also ships with some handy site templates for building blogs & webapps.

Metalsmith: Pluggable Node.js static site generator with Javascript & Command-line APIs

Metalsmith masthead

http://www.metalsmith.io/

I like the simplicity and extreme flexibility. Static site generation is one of those places where I don’t want the framework to be too opinionated.

Simple Blog Example from the website:

Metalsmith(__dirname)
  .use(markdown())
  .use(templates('handlebars'))
  .build();

Simple Blog Example with draft posts and custom permalinks from the website:

Metalsmith(__dirname)
  .use(drafts())
  .use(markdown())
  .use(permalinks('posts/:title'))
  .use(templates('handlebars'))
  .build();

React: Javascript library for building composable user interfaces created by Facebook

React logo

http://facebook.github.io/react/index.html

The “Why did we build React?” page on the React Blog gives a good overview of the library and the motivations behind its creation.

Some interesting bits:

Nightwatch.js: Automated browser testing using tests written in Node.js running against a Selenium server

Nightwatch.js logo

From the Nightwatch.js website:

Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites.

It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.

Features

  • Simple but powerful syntax which enables you to write tests very quickly, using
    only Javascript and CSS selectors. No need to initialize other objects and
    classes, you only need to write the test specs.

  • Built-in command-line test runner which enables you to run the tests either
    altogether, by group or single.

  • Manages the Selenium server automatically; can be disabled if Selenium runs on
    another machine.

  • Continous Integration support: JUnit XML reporting is built-in so you can
    integrate your tests in your build process with systems suchs as Hudson or
    Teamcity.

  • Use CSS selectors or Xpath to locate and verify elements on the page or execute
    commands.

  • Easy to extend if you need to implement your own commands specific to your
    application.