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"