A Jekyll web backend written in ruby, for a more user friendly management of http://jekyllrb.com/ websites.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Utterson is your friendly frontend/web editor for Jekyll sites. Gabriel John Utterson is a loyal friend of Dr. Jekyll in the story: Strange Case of Dr Jekyll and Mr Hyde

Development Discontinued

This project is currently not in active development.
PR's is still accepted and merged.

Active development is moved to a new project called: Strange Case CMS. It relies on a database to store data, but still uses Jekyll to build the static website.

I'l also recommending taking a look at Jekyll Admin


If you just want to see what it looks like, there is a bunch of screenshots over at the Utterson website.

Get started

It's very simple to get started and try Utterson:

git clone https://github.com/gabriel-john/utterson.git
cd utterson
bundle install --path vendor/bundle
bundle exec rackup

Visit in your browser and you should see an empty list of Jekyll sites.

Either create a new one or copy/symlink an existing Jekyll site in the sites/ directory:

cd sites/
ln -s ~/path/to/your/jekyll-site jekyll-site

How to setup deploys of Jekyll sites within Utterson

Setting up deploy of the Jekyll site within Utterson requires a bit of manuel work. The information needed for deploy should be added to the Jekyll _config.yml file for the site. This is a complete example with 2 environments. All settings is mandatory, but you can ofcourse has as many environments as you like:

  staging:                                  # Environment name
    url: http://staging.example.com/        # URL to the environment
    confirm: false                          # Confirm deploy? Read more below
    description: Staging environment        # Simple description
    commands:                               # List of commands to be executed
    - jekyll build
    - rsync -a . user@some.server:/site/path
    url: http://www.example.com
    confirm: true
    description: Production environment
    - jekyll build
    - git push

The confirm setting is a bit special. If false, the button to deploy an environment goes directly to deploy. But if true, an extra confirm click on a red button is neeeded before the deploy takes place.


Utterson is build using Sinatra and read/writes data directly from the files in the Jekyll site directory, no external database is needed. Look at the Gemfile, it really is extremely boring.

It does however rely on Git and at this point expects the Jekyll sites to be checked into a git repository. New Jekyll sites created with Utterson will also be initialized with Git and all changes is committed as well.


Completed features at this point is:

  • Create new Jekyll site
  • Create/Edit/Delete Posts
  • Git integration ( all changes are committed )
  • View/Edit site settings
  • Deploy functionality


Have a look at the issues list. Issues with the label feature is next up on the roadmap, where as future-features is ideas for the future.

Ideas/thoughts/bugs etc.

Please create an issue :)