This project is under refactoring.
Pending issues:
- Currently it only supports Ruby 1.9.2 or above because it uses
String#encode! - It requires
uming.ttcfont file in current working directory. This is inconvenient. - The CSS should be moved somewhere else.
- Do we need to refine API of
AnsiArt::Document. It should be the only API class. All other classes are for internal use. It's nice if we can make its API as generic as possible.
I saw there are some code to use gd2 gem in ruby 1.8.x. I think that doesn't work.
- Ruby 1.9.2 or above
- libgd
It's not on rubygems.org yet. Just clone the git reposiory and execute.
rake install
This gem requires CJK font AR PL UMing for PNG rendering, which is licensed under Arphic Public License.
Put a uming.tcc font file in your working directory.
Ways to find it:
- In Ubuntu, it might be at
/usr/share/fonts/truetype/arphic/uming.ttc. - Download it from [freedesktop.org] (http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download)
Download a ansi file:
wget http://ansi.loli.tw/ansiarts/static/803.ans
And here is the ruby snippet:
require 'rubygems'
gem 'ansi_art'
require 'ansi_art'
doc = AnsiArt::Document.new(IO.read('803.ans'))
File.open('out.html', 'w') { |f| f.write(doc.to_html) }
File.open('out.png', 'wb') { |f| f.write(doc.to_png) }
You should see out.html and out.png in your working directory.
HTML output needs to be wraped under a <div class="ansi-block"> tag, and apply required css files.
Example:
<!doctype html>
<html>
<head>
<title>ANSI art test page</title>
<link href="ansi.css" rel="stylesheet" type="text/css">
<!--[if IE 9]>
<link href="ansi.ie9.css" rel="stylesheet" type="text/css">
<![endif]-->
</head>
<body>
<div class="ansi-block">
<%= c.to_html %>
</div>
</body>
</html>