81 votes

Une bibliothèque pour convertir les échappatoires ANSI (formatage des terminaux/codes de couleur) en HTML.

Je suis à la recherche d'une bibliothèque de code qui convertit les séquences d'échappement ANSI en couleur HTML, via des balises simples ou CSS. Par exemple, quelque chose qui convertirait ceci :

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

Dans ça :

<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

Convertir les breaks en <br/> n'est pas nécessaire, c'est juste les codes d'échappement que je ne connais pas. Je pourrais le bricoler moi-même, mais je raterais probablement quelque chose d'important comme les soulignements ou je déconnerais sur le fonctionnement des couleurs de fond. Je préfère m'asseoir sur le code de quelqu'un d'autre.

Un tel outil (ligne de commande linux) ou une bibliothèque (perl, python ou ruby de préférence) existe-t-il ?

0 votes

Une excellente question et un ensemble de réponses précieuses !

98voto

Alexander Matthes Points 329

aha est un programme en langage C, disponible dans un paquet Ubuntu, à l'adresse suivante http://ziz.delphigl.com/tool_aha.php ou sur github https://github.com/theZiz/aha qui prend une entrée avec les couleurs du terminal par pipe ou fichier et met un fichier HTML (conforme au w3c) dans stdout. Exemple :

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

ou

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

pour une apparence de terminal avec un fond noir.

Compilez-le par "make" et mettez-le où vous voulez.

Ce serait génial d'avoir un retour d'information. ;-)

2 votes

IcanDivideBy0 a oublié quelque chose : le "lien allemand" dans le post d'Alexander Matthes reste valide. Le message d'origine comporte un ' ' erroné devant "ziz" ; utiliser ziz.delphigl.com/tool_aha.php De plus, le lien d'Alexander pointe vers : - source à ziz.delphigl.com/data/aha-src-0.4.4.tar.gz et - d'autres paquets debian à http : //packages.debian.org/search?keywords=aha (enlevez l'espace (' ') ajouté après ':', car je n'ai pas les privilèges pour inclure plus de 2 liens par message).

7 votes

Il existe un paquet ubuntu pour aha

1 votes

Je voulais juste noter pour les autres que le repo github de cette application compile et fonctionne sans problème sur os x. :)

20voto

Janus Troelsen Points 5121

Bibliothèque Python mature et outil en ligne de commande qui est toujours maintenu : pycontribs/ansi2html

Alternativement, pour le shell Bourne : ansi2html.sh

2 votes

"Inspiré par et développé à partir du travail de pixelbeat et blackjack". J'aime mieux celle-ci, et l'option -i est géniale :)

0 votes

Génial ! Les deux gèrent aussi les 256 couleurs. Upvoted.

0 votes

Le rythme des pixels ansi2html.sh a bien fonctionné pour moi !

17voto

Pistos Points 8997

Il semble y avoir un module Perl HTML::FromANSI .

9 votes

Ce module installe ansi2html que vous pouvez pipe input. ls --color | ansi2html -p > my_web_page.html ls --color | ansi2html > my_snpipet_code-no_header-footer.html MAIS je préfère la sortie par défaut de ansi2html.sh de pixelbeat

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X