Nesta is a lightweight CMS for building content sites and blogs, written in Ruby using the Sinatra web framework.
- Write your content in Markdown or Textile, in your text editor (drop into HTML or Haml if you need more control)
- Files are stored in text files on your hard drive (there is no database)
- Publish changes by putting these files online (Git recommended, not required)
- Deploy either as a static site (SSG) or by rendering HTML on the server (SSR)
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 the
mr-sparkle
dev server:
$ bundle exec mr-sparkle config.ru
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 build settings
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 (@gma@hachyderm.io).
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