2008-10-28 6 views
61

Я ищу библиотеку кодов, которая преобразует escape-последовательности ANSI в цвет HTML, с помощью простых тегов или CSS. Например, то, что бы преобразовать это:Библиотека для преобразования ANSI-экранов (форматирование/цветовые коды) в HTML

ESC[00mESC[01;34mbinESC[00m 
ESC[01;34mcodeESC[00m 
ESC[01;31mdropbox-lnx.x86-0.6.404.tar.gzESC[00m 
ESC[00mfooESC[00m

В это:

<span style="color:blue">bin</span> 
<span style="color:blue">code</span> 
<span style="color:red">dropbox-lnx.x86-0.6.404.tar.gz</span> 
foo 

Преобразование Дробится < бр/> не надо, это просто символьные коды, которые я не знаю. Я мог бы взломать его вместе, но я, вероятно, пропустил бы что-то важное, как подчеркивание, или испортил бы, как работают цвета фона. Я предпочел бы просто сидеть поверх чужого кода.

Есть ли такой инструмент (командная строка linux) или библиотека (perl, python или ruby ​​предпочтительно)?

+5

Что-нибудь в Python? – sorin 2009-09-10 15:45:16

+0

Отличный вопрос и ценный набор ответов! – cxw 2016-09-22 14:55:16

ответ

14

Похоже, что an HTML::FromANSI Perl module.

+6

Этот модуль устанавливает ansi2html, который вы можете подключить к входу. `ls --color | ansi2html -p> my_web_page.html` `ls --color | ansi2html> my_snpipet_code-no_header-footer.html` НО Я предпочитаю выход по умолчанию из [ansi2html.sh из pixelbeat] (http://www.pixelbeat.org/scripts/ansi2html.sh) – 2011-04-21 15:57:46

76

aha программа C-язык, доступный в пакете Ubuntu, на http://ziz.delphigl.com/tool_aha.php или на GitHub https://github.com/theZiz/aha, который принимает входной сигнал с терминальными цветов по трубе или файл и помещает (w3c соответствие) HTML-файла в стандартный вывод. Пример:

ls --color=always | aha > ls-output.htm 

или

ls --color=always | aha --black > ls-output.htm 

для терминала-подобный внешний вид с черным фоном.

Скомпилируйте его с помощью «make» и поместите его туда, где вы хотите.

Было бы здорово получить обратную связь. ;-)

+0

ссылка сломана – IcanDivideBy0 2012-01-10 10:08:15

13

Зрелый Python библиотека и инструмент командной строки, которая по-прежнему сохраняется: ralphbean/ansi2html

В качестве альтернативы, для оболочки Bourne: ansi2html.sh