/usr/bin/bluecloth is in ruby-bluecloth 2.2.0-5.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #!/usr/bin/ruby
#
# = bluecloth
#
# Format one or more text files with the markdown formatter.
#
# = Synopsis
#
# bluecloth [OPTIONS] [FILES]
#
#
#
BEGIN {
require 'bluecloth'
require 'optparse'
}
DocumentWrapper = %{
<html>
<head><title>%s</title></head>
<body>
%s
</body>
</html>
}
def main
fragment = false
destination = '.'
ARGV.options do |oparser|
oparser.banner = "Usage: #$0 [OPTIONS] FILES"
# Debug mode
oparser.on( "--debug", "-d", TrueClass, "Turn debugging output on" ) {
$DEBUG = true
}
# 'Fragment' mode
oparser.on( "--fragment", "-f", TrueClass,
"Output HTML fragments instead of whole documents" ) {
fragment = true
}
# Output destination
#oparser.on( "--output=DESTINATION", "-o DESTINATION", String,
# "Write output to DESTINATION instead of the current directory" ) {|arg|
# destination = arg
#}
oparser.parse!
end
# Filter mode if no arguments
ARGV.push( "-" ) if ARGV.empty?
ARGV.each {|file|
if file == '-'
contents = $stdin.read
else
contents = File::read( file )
end
bc = BlueCloth::new( contents )
$stderr.puts "Using BlueCloth version #{BlueCloth::VERSION}"
if fragment
$stdout.puts bc.to_html
else
$stdout.puts DocumentWrapper % [ file, bc.to_html ]
end
}
rescue => err
$stderr.puts "Aborting: Fatal error: %s" % err.message
exit 255
end
main
|