Stevenson
Stevenson is a Jekyll microsite generator created by RootsRated.com. Stevenson is named for Robert Louis Stevenson, author of The Strange Case of Dr. Jekyll and Mr. Hyde. A project was previously created with this name and a similar purpose about 2 years ago, but it hasn't been updated since. This project is our attempt to resurrect the idea of a quick simple Jekyll site generator.
Installation
Add this line to your application's Gemfile:
gem 'stevenson'
And then execute:
$ bundle
Or install it globally:
$ gem install stevenson
Usage
Basics
Use Stevenson to create a new microsite like this:
$ stevenson new hello_world
This will create a new directory in your current working directory named
hello_world
. This directory should be a ready-to-use Jekyll
installation.
Templates
By default, stevenson will use RootsRated's
Hyde repo as the template for the new
site, but alternative templates can be used with the --template
or -t
option, like so:
$ stevenson new hello_world -t https://github.com/YourUsername/YourTemplate.git
This will clone the repo at https://github.com/YourUsername/YourTemplate.git
to hello_world
.
Private Git Templates
If you'd like to use a template in a private git repo, you can pass GitHub credentials or store them in ENV variables. This will take priority over the 'template' option above.
$ stevenson new hello_world --private_template https://github.com/YourUsername/YourTemplate.git bob 123
This will clone the repo at https://github.com/YourUsername/YourTemplate.git
to hello_world
.
Additionally, Stevenson can use the GITHUB_SERVICE_ACCOUNT_USERNAME
and
GITHUB_SERVICE_ACCOUNT_PASSWORD
environment variables.
Zip Output
Stevenson can output directories as a zip archive using the -z
or --zip
flags. The following command will produce a zipped version of the first
example's result:
$ stevenson new hello_world.zip -z
This will output a file called hello_world.zip
with a ready-built website.
S3 Deploy
Stevenson can deploy projects to S3 using the --s3
flag. The following
command will deploy the resulting output to S3:
$ stevenson new hello_world.zip --s3=bucket file_key AWS_KEY AWS_SECRET
Additionally, Stevenson can use the AWS_ACCESS_KEY_ID
and
AWS_SECRET_ACCESS_KEY
environment variables.
Similar Projects
Stevenson may not be the right tool for what you're trying to do, so here's a few other projects with similar ideas but slight differences:
- Octopress - Octopress is a build and management tool for jekyll sites that's more targeted at blogging and personal sites than microsites. Octopress is a much more complete solution for jekyll sites with a much bigger community, however it definitely lacks some of the simplicity and ease of Stevenson. If Stevenson is Sinatra, Octopress is Ruby on Rails.
- The Original Stevenson Project - This project was not a first. There was another project called Stevenson with a similar idea a while back, but unfortunately it hasn't been updated in over 2 years.
Contributing
- Fork it ( https://github.com/RootsRated/stevenson/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
Don't forget to check out other open-source projects from RootsRated!