Sha256: f438f85d4c7d498e7ba54731c0c9b15b0c512ea3c82d7082720b1c2cf3185633

Contents?: true

Size: 1.75 KB

Versions: 7

Compression:

Stored size: 1.75 KB

Contents

#!/usr/bin/env ruby
# coding: utf-8

require 'optparse'
require 'bonsai'

banner = %q{
  
  盆栽
  bonsai, tiny and beautiful
  
}

opts = OptionParser.new do |opts|
  opts.banner = banner
  
  opts.on("-p", "--plant [NAME]", "creates the directory structure for your site") do |name|
    if name.nil?
      Bonsai.log "no site name given check `bonsai --help` for details" 
      exit 0
    end
    Bonsai::Generate.new("#{Dir.pwd}/#{name}")
  end
  
  opts.on("-c", "--cultivate", "run a local web server and process your files on save") do
    begin
      Bonsai.log banner
      Bonsai.log "Press Control+C to quit"
    
      require 'rack'
      require 'sinatra'
      require 'watch'
      require 'launchy'
    
      Bonsai.root_dir = Dir.pwd
      
      server = fork {        
        app = Rack::Builder.app {
          use Bonsai::StaticPassThrough, :root => Bonsai.root_dir + "/output", :urls => ["/"]
          run Bonsai::DevelopmentServer
        }
        Rack::Handler.default.run(app, :Port => 5000) do
          Launchy.open("http://localhost:5000/")
        end
      }    
      Watch.new("{content,templates,public}/**/*") { Bonsai::Exporter.process! }
    rescue Interrupt
      Process.kill("QUIT", server)
      Process.wait(server)
      exit
    end
  end
  
  opts.on("-r", "--repot", "export your site to #{Dir.pwd}/output") do
    Bonsai.root_dir = Dir.pwd
    Bonsai::Exporter.publish!
  end
  
  opts.on("-v", "--version") do
    Bonsai.log "Version: #{Bonsai.version}"
  end
  
  opts.on("--console", "start an IRB console session giving you access to your bonsai environment") do
    Bonsai.root_dir = Dir.pwd
    Bonsai::Console.new
  end
end

if ARGV.size == 0
  puts "grow a tiny tree. \ntype --help for a command list"
  exit 1
end

opts.parse!

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bonsai-1.3.1 bin/bonsai
bonsai-1.3.0 bin/bonsai
bonsai-1.2.0 bin/bonsai
bonsai-1.1.6 bin/bonsai
bonsai-1.1.5 bin/bonsai
bonsai-1.1.4 bin/bonsai
bonsai-1.1.3 bin/bonsai