コマンド

バージョン2.5.0以降、Jekyllはプラグインでjekyllで実行可能なサブコマンドを提供することができます。:jekyll_pluginsというGemfileグループに関連するプラグインを含めることで可能になります。

group :jekyll_plugins do
  gem "my_fancy_jekyll_plugin"
end

CommandJekyll::Commandクラスのサブクラスである必要があり、init_with_programメソッドを含まなければなりません。例えば、

class MyNewCommand < Jekyll::Command
  class << self
    def init_with_program(prog)
      prog.command(:new) do |c|
        c.syntax "new [options]"
        c.description 'Create a new Jekyll site.'

        c.option 'dest', '-d DEST', 'Where the site should go.'

        c.action do |args, options|
          Jekyll::Site.new_site_at(options['dest'])
        end
      end
    end
  end
end

コマンドには一つのメソッドが必要です。

メソッド 説明

init_with_program

このメソッドは、1つのパラメーター、Jekyllプログラム自体であるMercenary::Programインスタンスを受け入れます。プログラム上で、上記の構文を使用してコマンドを作成できます。 詳細については、GitHub.comのMercenaryリポジトリをご覧ください。