67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/env ruby
 | |
| 
 | |
| $:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib })
 | |
| 
 | |
| require 'commander/import'
 | |
| require 'jekyll'
 | |
| 
 | |
| # Details about Jekyll
 | |
| program :name, 'jekyll'
 | |
| program :version, Jekyll::VERSION
 | |
| program :description, 'Jekyll is a blog-aware, static site generator in Ruby'
 | |
| 
 | |
| default_command :help
 | |
| 
 | |
| # Global options available to every command
 | |
| global_option '-s', '--source [DIR]', 'Source directory (defaults to ./)'
 | |
| global_option '-d', '--destination [DIR]', 'Destination directory (defaults to ./_site)'
 | |
| global_option '--safe', 'Safe mode (defaults to false)'
 | |
| global_option '--plugins', 'Plugins directory (defaults to ./_plugins)'
 | |
| global_option '--layouts', 'Layouts directory (defaults to ./_layouts)'
 | |
| 
 | |
| # Build command
 | |
| #
 | |
| # Options:
 | |
| #   --source
 | |
| #   --destination
 | |
| #   --watch
 | |
| command :build do |c|
 | |
|   c.syntax = 'jekyll build [options]'
 | |
|   c.description = 'Build your site with the option of auto-renegeration'
 | |
|   c.option '-w', '--watch', 'Watch for changes and rebuild'
 | |
|   c.action do |args, options|
 | |
|     options.defaults :serving => false
 | |
|     options = Jekyll.configuration(options.__hash__)
 | |
|     Jekyll::BuildCommand.process(options)
 | |
|   end
 | |
| end
 | |
| 
 | |
| # Serve command
 | |
| #
 | |
| # Options:
 | |
| #   --source
 | |
| #   --destination
 | |
| #   --watch
 | |
| #
 | |
| #   --port
 | |
| #   --host
 | |
| #   --baseurl
 | |
| command :serve do |c|
 | |
|   c.syntax = 'jekyll serve [options]'
 | |
|   c.description = 'Serve your site locally with the option of auto-regeneration'
 | |
|   c.option '-w', '--watch', 'Watch for changes and rebuild'
 | |
|   c.option '-p', '--port [PORT]', 'Port to listen on'
 | |
|   c.option '-h', '--host [HOST]', 'Host to bind to'
 | |
|   c.option '-b', '--baseurl [URL]', 'Base URL'
 | |
|   c.action do |args, options|
 | |
|     options.default :port => '4000',
 | |
|                     :host => '0.0.0.0',
 | |
|                     :baseurl => '/',
 | |
|                     :serving => true
 | |
| 
 | |
|     options = Jekyll.configuration(options.__hash__)
 | |
|     Jekyll::BuildCommand.process(options)
 | |
|     Jekyll::ServeCommand.process(options)
 | |
|   end
 | |
| end
 |