<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.gitignore</filename>
    </added>
    <added>
      <filename>templates/default.erb</filename>
    </added>
    <added>
      <filename>templates/import.erb</filename>
    </added>
    <added>
      <filename>templates/javascripts/jquery-1.3.2.js</filename>
    </added>
    <added>
      <filename>templates/javascripts/jquery.easing.js</filename>
    </added>
    <added>
      <filename>templates/javascripts/jquery.hash-changed.js</filename>
    </added>
    <added>
      <filename>templates/javascripts/slides.js</filename>
    </added>
    <added>
      <filename>templates/stylesheets/screen.css</filename>
    </added>
    <added>
      <filename>templates/stylesheets/slides.css</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,4 +2,4 @@
 
 require File.join(File.dirname(__FILE__), *%w[.. lib slidedown])
 
-puts SlideDown.render(ARGV.dup)
\ No newline at end of file
+SlideDown.run!</diff>
      <filename>bin/slidedown</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 class Slide
   attr_accessor :text, :classes
-  
+
   def initialize(text, *classes)
     @text = text
     @classes = classes
   end
-  
+
   def html
     MakersMark::Generator.new(@text).to_html
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/slide.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 require 'rubygems'
+require 'optparse'
 require 'nokogiri'
 require 'rdiscount'
 require 'makers-mark'
@@ -8,10 +9,40 @@ require File.join(File.dirname(__FILE__), 'slide')
 $SILENT = true
 
 class SlideDown
+  USAGE = &quot;The SlideDown command line interface takes a .md (Markdown) file as its only required argument. It will convert the file to HTML in standard out. Options:
+  -t, --template [TEMPLATE] the .erb files in /templates directory. Default is -t default, which prints stylesheets and javascripts inline. The import template uses link and script tags.&quot;
+
   attr_reader :classes
 
-  def self.render(args)
-    new(File.read(File.join(Dir.pwd, *args))).render
+  def self.run!(argv = ARGV)
+    args = argv.dup
+
+    if args.empty?
+      puts USAGE
+    else
+      source = args[0]
+      if args.length == 1
+        render(source)
+      else
+        option_parser(source).parse!(args)
+      end
+    end
+  end
+
+  def self.option_parser(source)
+    OptionParser.new do |opts|
+      opts.on('-h', '--help') { puts USAGE }
+      opts.on('-t', '--template TEMPLATE') do |template|
+        render(source, template)
+      end
+    end
+  end
+
+  def self.render(source_path, template = &quot;default&quot;)
+    if source_path
+      slideshow = new(File.read(source_path))
+      puts slideshow.render(template)
+    end
   end
 
   # Ensures that the first slide has proper !SLIDE declaration
@@ -28,8 +59,10 @@ class SlideDown
     File.read(File.dirname(__FILE__) + '/../templates/%s' % path)
   end
 
-  def render
-    template = File.read(File.dirname(__FILE__) + '/../templates/template.erb')
+  def render(name)
+    directory = File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;templates&quot;)
+    path      = File.join(directory, &quot;#{name}.erb&quot;)
+    template  = File.read(path)
     ERB.new(template).result(binding)
   end
 
@@ -47,11 +80,11 @@ class SlideDown
 
   # These get added to the dom.
   def stylesheets
-    Dir[Dir.pwd + '/*.css'].map { |path| File.read(path) }
+    Dir[Dir.pwd + '/*.stylesheets'].map { |path| File.read(path) }
   end
 
   def jabascripts
-    Dir[Dir.pwd + '/*.js'].map { |path| File.read(path) }
+    Dir[Dir.pwd + '/*.javascripts'].map { |path| File.read(path) }
   end
 
   def extract_classes!</diff>
      <filename>lib/slidedown.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>templates/css/screen.css</filename>
    </removed>
    <removed>
      <filename>templates/css/slides.css</filename>
    </removed>
    <removed>
      <filename>templates/js/jquery-1.3.2.js</filename>
    </removed>
    <removed>
      <filename>templates/js/jquery.easing.js</filename>
    </removed>
    <removed>
      <filename>templates/js/jquery.hash-changed.js</filename>
    </removed>
    <removed>
      <filename>templates/js/slides.js</filename>
    </removed>
    <removed>
      <filename>templates/template.erb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>008941dca47773b76a4932270d4c0814094a7bc7</id>
    </parent>
  </parents>
  <author>
    <name>Dan Croak</name>
    <email>dcroak@thoughtbot.com</email>
  </author>
  <url>http://github.com/nakajima/slidedown/commit/02733cdea2ab5787e3cd51fa10ddbd27eec48186</url>
  <id>02733cdea2ab5787e3cd51fa10ddbd27eec48186</id>
  <committed-date>2009-06-21T16:04:07-07:00</committed-date>
  <authored-date>2009-06-21T16:04:07-07:00</authored-date>
  <message>added --template option &amp; second template, the import template which uses link and script tags. the old (default) template continues to have js &amp; css generated inline.</message>
  <tree>a54cd034546bf7511a6a7c84659b0dd2bb2fdcee</tree>
  <committer>
    <name>Dan Croak</name>
    <email>dcroak@thoughtbot.com</email>
  </committer>
</commit>
