Sha256: 8f06507b70616702325d5e66efa1ea6ffc07cdae3794789339c461f7b73e2a3d

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

#!/usr/bin/env ruby

here = File.expand_path(File.dirname(__FILE__))
$: << File.join(here, '..', 'lib')

require "trollop"
require "rack"
require "deck"
require "deck/rack_app"
require "deck/version"

options = Trollop.options do
  version "deck v#{Deck::VERSION}"
  banner version
  banner "Usage: deck [options] [slides]"
  banner "(see http://github.com/alexch/deck.rb README for more help)"
  opt :port, "Specify alternate port", :default => 4333
  opt :build, "Build an HTML file instead of launching a server (WARNING: not very useful yet)"
end

if options[:build]
  slides = []
  output_path = nil
  output_dir = "."  # for now, since deck.js is relative to the project root

  ARGV.each do |arg|
    # output_dir ||= File.dirname(arg)
    basename ||= File.basename(arg, ".md")
    output_path ||= "#{output_dir}/#{basename}.html"
    slides += Deck::Slide.from_file arg
  end

  File.open(output_path, "w") do |file|
    deck = Deck::SlideDeck.new :slides => slides
    # deck.to_pretty(:output => file)  # todo: figure out why this doesn't work
    file.write deck.to_pretty
  end

else

  # Fix Rack bug https://github.com/rack/rack/issues/301
  require 'deck/rack_static_patch'
  port = options[:port]
  slide_files = ARGV
  Rack::Handler.default.run Deck::RackApp.build(slide_files), :Port => port
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
deckrb-0.4.1 bin/deck
deckrb-0.4.0 bin/deck
deckrb-0.3.1 bin/deck