Biblioteka do konwersji znaków specjalnych ANSI (formatowanie terminala / kody kolorów) na HTML [zamknięte]

80

Szukam biblioteki kodu, która konwertuje sekwencje ucieczki ANSI na kolor HTML, za pomocą zwykłych tagów lub CSS. Na przykład coś, co przekształci to:

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

Zaangażowany w to:

<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 przerw na <br/> nie jest konieczna, to tylko kody ucieczki, których nie znam. Mógłbym to zrobić sam, ale prawdopodobnie przegapiłbym coś ważnego, jak podkreślenia lub zepsuć sposób działania kolorów tła. Wolę po prostu siedzieć na czyimś kodzie.

Czy takie narzędzie (linia poleceń linux) lub biblioteka (najlepiej perl, python lub ruby) istnieją?

Myrddin Emrys
źródło
Świetne pytanie i cenny zestaw odpowiedzi!
cxw

Odpowiedzi:

96

ahato program w języku C, dostępny w pakiecie Ubuntu, pod adresem http://ziz.delphigl.com/tool_aha.php lub na github https://github.com/theZiz/aha , który przyjmuje dane wejściowe z kolorami terminala przez potok lub plik i umieszcza plik HTML (zgodny z w3c) na standardowe wyjście. Przykład:

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

lub

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

dla wyglądu przypominającego terminal z czarnym tłem.

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

Byłoby wspaniale otrzymać opinię. ;-)

Alexander Matthes
źródło
2
IcanDivideBy0 coś przeoczył: „niemiecki link” w poście Alexandra Matthesa pozostaje aktualny. W poście źródłowym znajduje się błędne słowo „” przed „ziz”; użyj ziz.delphigl.com/tool_aha.php Co więcej, link Alexandra wskazuje na: - źródło na ziz.delphigl.com/data/aha-src-0.4.4.tar.gz oraz - inne pakiety Debiana na http: // packages.debian.org/search?keywords=aha (usuń spację ('') dodaną po ':', ponieważ nie mam uprawnień do umieszczania więcej niż 2 linków na post.)
Der Schley,
7
Istnieje pakiet ubuntu dla aha
grep
1
Chciałem tylko zauważyć dla innych, że repozytorium github dla tej aplikacji kompiluje się i działa bez problemu na os x. :)
masukomi
3
Właśnie dodałem żądanie ściągnięcia Homebrew dla aha . Jeśli zostanie zaakceptowany, instalacja aha będzie prosta brew update && brew install ahana komputerach Mac.
Nightscape
2
Wydaje się, że obsługuje tylko 16 kolorów, o ile wiem.
Gringo Suave
19

Dojrzała biblioteka Pythona i narzędzie wiersza poleceń, które jest nadal utrzymywane: ralphbean / ansi2html

Alternatywnie, dla powłoki Bourne'a: ansi2html.sh

Janus Troelsen
źródło
2
„Zainspirowany i opracowany w oparciu o prace nad pikselami i blackjackiem”. Ten mi się bardziej podoba, a opcja -i jest świetna :)
DavidG
Świetny! Oba uchwyty również w 256 kolorach. Głosowano za.
jamadagni
Pixelbeat ansi2html.sh działał dobrze dla mnie!
cxw
Nie ogranicza się już do Bourne'a i dostępne są pakiety deb, yum, apt: pypi.python.org/pypi/ansi2html/1.0.7
hobs