Mercenary
Lightweight and flexible library for writing command-line apps in Ruby.
Installation
Add this line to your application's Gemfile:
gem 'mercenary'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mercenary
Note: Mercenary may not work with Ruby < 1.9.3.
Usage
Mercenary.program(:jekyll) do |p|
p.version Jekyll::VERSION
p.description 'Jekyll is a blog-aware, static site generator in Ruby'
p.command(:new) do |c|
c.syntax "jekyll new PATH"
c.description "Creates a new Jekyll site scaffold in PATH"
c.action do |args, |
Jekyll::Commands::New.process(args)
end
end
p.command(:build) do |c|
c.syntax "jekyll build [options]"
c.description "Builds your Jekyll site"
c.option 'safe', '--safe', 'Run in safe mode'
c.option 'source', '--source DIR', 'From where to collect the source files'
c.option 'destination', '--dest DIR', 'To where the compiled files should be written'
c.action do |_, |
Jekyll::Commands::Build.process()
end
end
p.command(:import) do |c|
c.syntax "jekyll import <platform> [options]"
c.description "Import your old blog to Jekyll"
c.action do |args, |
begin
require "jekyll-import"
rescue
msg = "You must install the 'jekyll-import' gem before continuing.\n"
msg += "* Do this by running `gem install jekyll-import`.\n"
msg += "* Or if you need root privileges, run `sudo gem install jekyll-import`."
abort msg
end
Jekyll::Commands::Import.process(args.first, )
end
end
p.default_command(:build)
end
Contributing
- Fork it
- 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 new Pull Request