指令

2.5.0 版本開始,Jekyll 可以透過外掛程式擴充,這些外掛程式會為 jekyll 可執行檔提供子指令。這可透過在稱為 :jekyll_pluginsGemfile 群組中包含相關外掛程式來完成

group :jekyll_plugins do
  gem "my_fancy_jekyll_plugin"
end

每個 Command 都必須是 Jekyll::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

此方法接受一個參數,即 Mercenary::Program 實例,也就是 Jekyll 程式本身。在程式上,可以使用上述語法建立指令。如需更多詳細資訊,請瀏覽 GitHub.com 上的 Mercenary 儲存庫。