Ada ansifilter
ditambah beberapa alat seperti highlight
akan menghasilkan html berwarna dari teks biasa seperti file sumber.
Keduanya tersedia di sini.
Ya, Anda perlu menyalurkan hasilnya melalui alat seperti ansi2html.
Tanpa pencetakan cantik apa pun, hal paling sederhana yang selalu dapat Anda lakukan adalah melarikan diri dari semua yang perlu diloloskan, dan membungkus shell HTML dasar (berikut ini harus HTML5 minimal yang valid). Misalnya, dapatkan fastesc:http://raa.ruby-lang.org/project/fastesc/, dan itu membungkusnya menjadi shell HTML.
Jika Anda ingin mempertahankan keajaiban ANSI, maka Anda perlu mengubahnya menjadi HTML, mungkin dengan http://ansi-sys.rubyforge.org/
Lalu lakukan sesuatu seperti ini, tergantung kebutuhan Anda:
require 'ansisys'
def ansi_escape(string)
terminal = AnsiSys::Terminal.new
terminal.echo(string)
terminal.render
end
def to_html(string)
%Q{ <!DOCTYPE html>
<title>Converted to html</title>
<pre>
#{ansi_escape(string)}
</pre>
}
end