lib/amiba/site.rb in amiba-0.0.2 vs lib/amiba/site.rb in amiba-0.0.3

- old
+ new

@@ -1,7 +1,35 @@ module Amiba module Site + class Preview < Thor::Group + include Amiba::Generator + + namespace :"site:preview" + class_option :port, :default => 4321 + + def create + invoke Amiba::Site::Generate + end + + def preview + root = File.expand_path(File.join(Amiba::Configuration.site_dir, "public")) + logger = WEBrick::Log.new($stderr, WEBrick::Log::ERROR) + server = WEBrick::HTTPServer.new({:Port => options[:port], :DocumentRoot => root, :Logger => logger}) + + ['INT', 'TERM'].each {|signal| + trap(signal) {server.shutdown} + } + + say "" + say "" + say "Preview available at http://localhost:#{options[:port]}/" + say "To end, press Ctrl+C" + + server.start + end + end + class S3Upload < Thor::Group include Amiba::Generator namespace :"site:upload:s3"