ansifilter
があります プラス highlight
のようないくつかのツール ソースファイルなどのプレーンテキストから色付きの html を生成します。
どちらもこちらから入手できます。
はい、ansi2html などのツールを介して結果をパイプする必要があります。
きれいな印刷を行わずに常にできる最も簡単なことは、エスケープが必要なすべてのものをエスケープし、基本的な HTML シェルをラップすることです (以下は有効な最小限の HTML5 である必要があります)。たとえば、fastesc:http://raa.ruby-lang.org/project/fastesc/ を取得し、それを HTML シェルにラップします。
ANSI マジックを維持したい場合は、おそらく http://ansi-sys.rubyforge.org/
を使用して HTML に変換する必要があります。そして、必要に応じて次のようにします:
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