2008-10-28 11 views
61

Poszukuję biblioteki kodu, która konwertuje sekwencje specjalne ANSI na kolor HTML, za pomocą zwykłych tagów lub CSS. Na przykład, coś, co będzie przekonwertować to:Biblioteka do konwertowania przejść ANSI (formatowanie terminalu/kody kolorów) do HTML

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

Do tego:

<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 

Konwersja włamuje < br/> nie jest to konieczne, to tylko kody ucieczkowe, że nie wiem. Sam mógłbym to zhakować, ale prawdopodobnie pominęłbym coś ważnego, jak podkreślenia lub zepsułabym działanie kolorów tła. Wolę usiąść na czyimś kodzie.

Czy istnieje takie narzędzie (linux linii komend) lub biblioteka (perl, python lub ruby)?

+5

coś w Pythonie? – sorin

+0

Świetne pytanie i cenny zestaw odpowiedzi! – cxw

Odpowiedz

14

Wygląda na to, że istnieje an HTML::FromANSI Perl module.

+6

ten moduł instaluje ansi2html, które można podłączyć do wejścia. 'ls --color | ansi2html -p> my_web_page.html' 'ls --color | ansi2html> my_snpipet_code-no_header-footer.html' ALE Preferuję domyślne wyjście z [ansi2html.sh z pixelbeat] (http://www.pixelbeat.org/scripts/ansi2html.sh) –

76

aha to program w języku C, dostępny w pakiecie Ubuntu, na http://ziz.delphigl.com/tool_aha.php lub na github https://github.com/theZiz/aha, że trwa wejście z kolorami terminali przez rury lub pliku i kładzie (W3C zgodne) HTML-File w standardowe wyjście. Przykład:

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

lub

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

na wygląd podobny do zacisku z czarnym tle.

Skompiluj go przez "make" i umieść go tam, gdzie chcesz.

Byłoby miło otrzymać opinię. ;-)

+0

link jest zepsuty – IcanDivideBy0

+1

@ IcanDivideBy0: Naprawiono link. – smokris

+2

IcanDivideBy0 coś przeoczyłem: "niemiecki link" w poście Aleksandra Matthesa pozostaje ważny. Oryginalna pozycja ma w niej błędne "przed" ziz; użyj http://ziz.delphigl.com/tool_aha.php Co więcej, link Alexandra wskazuje na: - źródło pod adresem http://ziz.delphigl.com/data/aha-src-0.4.4.tar.gz oraz - inne pakiety debian na http: //packages.debian.org/search?keywords=aha * (usuń spację ("') dodaną po": ", ponieważ nie mam punktów kontrolnych, aby uwzględnić więcej niż 2 linki na jeden post.) * –

13

Dojrzałe Python biblioteki i narzędzia wiersza polecenia, które jest nadal utrzymywany: ralphbean/ansi2html

Alternatywnie dla powłoki Bourne: ansi2html.sh

+2

"Zainspirowany i rozwinięty w pracy pixelbeat i blackjacka". Podoba mi się ten jeden, a opcja -i jest świetna :) – DavidG

+0

Świetnie! Oba obsługują również 256 kolorów. Rewizja. – jamadagni

+0

The pixelbeat [ansi2html.sh] (https://github.com/pixelb/scripts/blob/master/scripts/ansi2html.sh) dobrze się sprawdziło dla mnie! – cxw

Powiązane problemy