A long-lived project that still receives updates
Nesta is a lightweight Content Management System, written in Ruby using the Sinatra web framework. Nesta has the simplicity of a static site generator, but (being a fully fledged Rack application) allows you to serve dynamic content on demand. Content is stored on disk in plain text files (there is no database). Edit your content in a text editor and keep it under version control (most people use git, but any version control system will do fine). Implementing your site's design is easy, but Nesta also has a small selection of themes to choose from.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

Runtime

>= 3.1, < 6.0
~> 2.0
~> 2.1
~> 4.2
>= 2.2
~> 2.0
~> 2.0
 Project Readme

Nesta - a CMS for Ruby Developers

A file-based CMS for web sites and blogs, written in Sinatra.

Content can be written in Markdown or Textile and stored in text files (though you can also use Haml if you need to add some HTML to your pages). There's no database; write your content in your editor. Publish by pushing to a git repository.

Installation

Begin by installing the gem:

$ gem install nesta

Then use the nesta command to generate a new site:

$ nesta new mysite.com --git

Install a few dependencies, and you're away:

$ cd mysite.com
$ bundle

You'll find basic configuration options for your site in config/config.yml. The defaults will work, but you'll want to tweak it before you go very far.

That's it - you can launch a local web server in development mode using mr-sparkle...

$ bundle exec mr-sparkle config.ru

...then point your web browser at http://localhost:8080. Start editing the files in content/pages (see the docs on writing content for full instructions).

Support

There's plenty of information on http://nestacms.com. If you need some help with anything feel free to file an issue, or contact me on Mastodon (@gma@hachyderm.io) or Twitter (@grahamashton).

If you like Nesta you can keep up with developments by following @nestacms on Twitter, and on the blog.

Tests

Contributing

If you want to add a new feature, I recommend that you file an issue to discuss it before you start coding. I'm likely to suggest that we implement it as a plugin (to keep Nesta itself lean and simple), so you might save yourself some time if we chat about a good approach before you start.

-- Graham (@grahamashton on Twitter).