Sha256: 45e335c9b660a4c29cc41773ab0aabb4d6419ddc7ff38575a07fc2953374d769
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
#!/usr/bin/env ruby $:.unshift File.join(File.dirname(__FILE__), '..', 'lib') require 'shining' ACTIONS = { :new_on! => ['build'], :new_slide! => ['slide'], :compile_templates! => ['compile'], :vendorize => ['vendor', 'vendorize'] } def bail! reason Shining.error reason exit -2 end def figure_what_to_do! help_and_exit! if ARGV.empty? if ACTIONS.values.flatten.include? ARGV.first action = ACTIONS.select { |action, args| args.include? ARGV.first }.flatten.first send action, *ARGV[1..(ARGV.length - 1)] else new_on! ARGV.first end end def help_and_exit! STDERR.puts <<-HELP Shine - Generates a new Shining presentation Usage: shine <directory> Example: shine mycoolpreso HELP exit -1 end def new_on! dir Shining::Preso.new dir end def new_slide! name, format = 'html' preso = Shining::Preso.open Dir.pwd preso.new_slide "#{name}.#{format}", :with => ['styles', 'script'] end def vendorize preso = Shining::Preso.open Dir.pwd bail! 'This preso seems vendorized already.' if preso.vendorized? preso.vendorize! end def compile_templates! preso = Shining::Preso.open Dir.pwd preso.compile_templates! end def shining? File.exists?(Dir.pwd/'config.json') and File.directory?(Dir.pwd/'slides') end figure_what_to_do!
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shining-1.0.1 | bin/shine |