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