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
PLEASE NOTICE!
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.
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 http://127.0.0.1:9292/ 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
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:
utterson_deploy:
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 . [email protected]:/site/path
production:
url: http://www.example.com
confirm: true
description: Production environment
commands:
- 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.
Please create an issue :)