Skip to content

gma/nesta

Repository files navigation

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 https://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 https://nestacms.com. If you need some help with anything feel free to file an issue, or contact me on Mastodon (@[email protected]).

Tests

Contributing

If you want to add a new feature, consider creating an issue so we can have a chat before you start coding. I might be able to chip in with ideas on how to approach it, or suggest that we implement it as a plugin (to keep Nesta itself lean and simple).

-- Graham