55 lines
1.1 KiB
Ruby
55 lines
1.1 KiB
Ruby
# Require core library
|
|
require 'middleman-core'
|
|
|
|
# Extension namespace
|
|
module Middleman
|
|
module Deploy
|
|
|
|
cattr_accessor :options
|
|
|
|
class Extension < Extension
|
|
|
|
option :deploy_method, nil
|
|
option :host, nil
|
|
option :port, nil
|
|
option :user, nil
|
|
option :password, nil
|
|
option :path, nil
|
|
option :clean, nil
|
|
option :remote, nil
|
|
option :branch, nil
|
|
option :strategy, nil
|
|
option :build_before, nil
|
|
option :flags, nil
|
|
option :commit_message, nil
|
|
|
|
|
|
|
|
def initialize(app, options_hash = {}, &block)
|
|
super
|
|
|
|
yield options if block_given?
|
|
|
|
# Default options for the rsync method.
|
|
options.port ||= 22
|
|
options.clean ||= false
|
|
|
|
# Default options for the git method.
|
|
options.remote ||= 'origin'
|
|
options.branch ||= 'gh-pages'
|
|
options.strategy ||= :force_push
|
|
options.commit_message ||= nil
|
|
|
|
options.build_before ||= false
|
|
|
|
end
|
|
|
|
def after_configuration
|
|
::Middleman::Deploy.options = options
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
end
|