D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.1.0
/
gems
/
kramdown-1.13.2
/
bin
/
Filename :
kramdown
back
Copy
#!/usr/bin/env ruby # -*- coding: utf-8 -*- # #-- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at> # # This file is part of kramdown which is licensed under the MIT. #++ # require 'optparse' require 'kramdown' options = {} format = ['html'] OptionParser.new do |opts| opts.banner = "Usage: kramdown [options] [FILE FILE ...]" opts.summary_indent = ' '*4 opts.separator "" opts.separator "Command line options:" opts.separator "" opts.on("-i", "--input ARG", "Specify the input format: kramdown (default), " \ "html, GFM or markdown") {|v| options[:input] = v} opts.on("-o", "--output ARG", Array, "Specify one or more output formats separated by commas: " \ "html (default),", "kramdown, latex, pdf, man or remove_html_tags") {|v| format = v} opts.on("-v", "--version", "Show the version of kramdown") do puts Kramdown::VERSION exit end opts.on("-h", "--help", "Show the help") do puts opts.summarize('', 5, 72) exit end opts.separator "" opts.separator "kramdown options:" opts.separator "" Kramdown::Options.definitions.sort.each do |n, definition| no = n.to_s.tr('_', '-') if definition.type == Kramdown::Options::Boolean opts.on("--[no-]#{no}") {|v| options[n] = Kramdown::Options.parse(n, v)} else type = definition.type type = String if type == Symbol || type == Object opts.on("--#{no} ARG", type) {|v| options[n] = Kramdown::Options.parse(n, v)} end definition.desc.split(/\n/).each do |line| opts.separator opts.summary_indent + ' '*6 + line end opts.separator '' end end.parse! begin doc = Kramdown::Document.new(ARGF.read, options) result = '' format.each {|f| result = doc.send("to_#{f}")} puts result doc.warnings.each {|warn| $stderr.puts "Warning: #{warn}"} rescue Kramdown::Error => e $stderr.puts "Error: #{e.message}" exit(1) end