Skip to content

Instantly share code, notes, and snippets.

@mnbi
Created August 14, 2010 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mnbi/524290 to your computer and use it in GitHub Desktop.
Save mnbi/524290 to your computer and use it in GitHub Desktop.
require 'cgi'
source = ARGV.shift
exit if ! source
def header(name)
h = '<pre class="code"><code>' + "(#{File.basename(name)})"
puts h
end
def footer
puts '</code></pre>'
end
def scale(n)
Math::log10(n).floor + 1
end
count = 1
lines = IO.readlines(source)
format = "%#{scale(lines.length)}d"
header(source)
lines.each do |code|
code = CGI::escapeHTML(code.chomp)
numbering = format % count
STDOUT.puts "#{numbering}: #{code}"
count += 1
end
footer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment