Sha256: 4feb86d2d18061ab4256f67d8b654689065b3c40179f0c9cfe26d3574abf33d7
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
#!/usr/bin/env ruby $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib]) help = <<HELP Jekyll is a blog-aware, static site generator. Basic Command Line Usage: jekyll # . -> ./_site jekyll <path to write generated site> # . -> <path> jekyll <path to source> <path to write generated site> # <path> -> <path> Options: HELP require 'optparse' require 'jekyll' options = {} opts = OptionParser.new do |opts| opts.banner = help opts.on("--auto", "Auto-regenerate") do options[:auto] = true end end opts.parse! def clean(dest) FileUtils.rm_rf(dest) FileUtils.mkdir_p(dest) end def globs(source) Dir.chdir(source) do dirs = Dir['*'].select { |x| File.directory?(x) } dirs -= ['_site'] dirs = dirs.map { |x| "#{x}/**/*" } dirs += ['*'] end end source = nil destination = nil case ARGV.size when 0 source = '.' destination = File.join('.', '_site') when 1 source = '.' destination = ARGV[0] when 2 source = ARGV[0] destination = ARGV[1] else puts "Invalid options. Run `jekyll --help` for assistance." exit(1) end if options[:auto] puts "Auto-regenerating enabled: #{source} -> #{destination}" dw = DirectoryWatcher.new(source) dw.interval = 1 dw.glob = globs(source) dw.add_observer do |*args| t = Time.now.strftime("%Y-%m-%d %H:%M:%S") puts "[#{t}] regeneration: #{args.size} files changed" Jekyll.process(source, destination) end dw.start loop { sleep 1000 } else Jekyll.process(source, destination) end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
mojombo-jekyll-0.1.4 | bin/jekyll |
jekyll-0.1.4 | bin/jekyll |