#!/usr/bin/env ruby
# Usage: commonmarker [--html-renderer] [FILE..]
# Convert one or more CommonMark files to HTML and write to standard output.
# If no FILE argument is provided, text will be read from STDIN.
# With --html-renderer, use the HtmlRenderer renderer rather than the native C
# renderer.
if ARGV.include?('--help') or ARGV.include?('-h')
File.read(__FILE__).split("\n").grep(/^# /).each do |line|
puts line[2..-1]
end
exit 0
end
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w( .. lib ))
require 'commonmarker'
if ARGV.include?('--version') or ARGV.include?('-v')
puts "commonmarker #{CommonMarker::VERSION}"
exit 0
end
root = File.expand_path('../../', __FILE__)
$:.unshift File.expand_path('lib', root)
renderer = nil
ARGV.delete_if do |arg|
if arg =~ /^--html-renderer$/
renderer = CommonMarker::HtmlRenderer.new
true
else
false
end
end
doc = CommonMarker.render_doc(ARGF.read)
if renderer
STDOUT.write(renderer.render(doc))
else
STDOUT.write(doc.to_html)
end