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
2024
 Dependencies

Development

Runtime

>= 3.1, < 6.0
~> 2
~> 2.1
~> 4.2
~> 3.0
~> 2.0
>= 0
 Project Readme

Lightweight file-based CMS and Static Site Generator

Nesta is a lightweight CMS for building content sites and blogs, written in Sinatra.

Content can be written in Markdown or Textile, stored in text files on your computer. There is no database.

You do your writing in your text editor.

Publish by pushing your changes to a git repository that's setup to deploy your changes to the web.

Installation

Begin by installing Ruby, then the Nesta gem:

$ gem install nesta

Use the nesta command to generate a new site:

$ nesta new mysite.com --git  # a git repo is optional, but recommended

Install a few dependencies, and you're away:

$ cd mysite.com
$ bundle

You'll find 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).

You can either deploy it behind a web server, or build a static version of your site:

$ nesta build  # but see config.yml for related settings

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, please create an issue to discuss it before you start coding. I might suggest that we implement it as a plugin (to keep Nesta itself lean and simple), or be able to chip in with ideas on how to approach it.

-- Graham