class Staticpress::CLI

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/staticpress/cli.rb, line 19
def initialize(*args)
  super
  Staticpress::Settings.set! options
end

Public Instance Methods

build() click to toggle source
# File lib/staticpress/cli.rb, line 101
def build
  Staticpress::Site.new.save
end
create(title) click to toggle source
# File lib/staticpress/cli.rb, line 58
def create(title)
  Staticpress::Content::Post.create config.preferred_format, title
end
create_page(title, path = nil) click to toggle source
# File lib/staticpress/cli.rb, line 63
def create_page(title, path = nil)
  Staticpress::Content::Page.create config.preferred_format, title, path
end
deploy() click to toggle source
# File lib/staticpress/cli.rb, line 116
def deploy
  build and push
end
fork_plugin(name, new_name = nil) click to toggle source
# File lib/staticpress/cli.rb, line 73
def fork_plugin(name, new_name = nil)
  source = Staticpress::Plugin.find name

  destination_name = new_name ? (new_name.end_with?('.rb') ? new_name : "#{new_name}.rb") : source.basename
  destination = Staticpress.blog_path + (config.plugins_path || 'plugins') + destination_name

  FileUtils.mkdir_p destination.dirname
  FileUtils.cp source, destination
end
fork_theme(name = config.theme, new_name = name) click to toggle source
# File lib/staticpress/cli.rb, line 88
def fork_theme(name = config.theme, new_name = name)
  theme = Staticpress::Theme.new name
  theme.copy_to new_name
end
help(*args) click to toggle source
Calls superclass method
# File lib/staticpress/cli.rb, line 25
    def help(*args)
      general_usage = <<-USAGE
Usage:
  staticpress <task> <required-argument> [option-argument] [--options...]

      USAGE
      puts general_usage if args.empty?
      super
    end
list(method = :to_s) click to toggle source
# File lib/staticpress/cli.rb, line 94
def list(method = :to_s)
  Staticpress::Site.new.each do |content|
    puts(content.respond_to?(method) ? content.send(method) : content)
  end
end
new(destination, name = nil) click to toggle source
# File lib/staticpress/cli.rb, line 40
def new(destination, name = nil)
  Staticpress.blog_path = destination

  FileUtils.mkdir_p Staticpress.blog_path
  FileUtils.cp_r((Staticpress.root + 'skeleton').children, Staticpress.blog_path)

  config = self.config.clone

  config.title = if name.to_s.empty?
    Staticpress.blog_path.basename.to_s.split('_').map(&:capitalize).join(' ')
  else
    name
  end

  config.save
end
push() click to toggle source
# File lib/staticpress/cli.rb, line 111
def push
  Staticpress::Pusher.push
end
serve() click to toggle source
# File lib/staticpress/cli.rb, line 106
def serve
  Rack::Server.new(:config => (Staticpress.blog_path + 'config.ru').to_s, :Port => config.port).start
end
version() click to toggle source
# File lib/staticpress/cli.rb, line 121
def version
  puts "Staticpress #{Staticpress::Version}"
end