将彩色输出转换为 html

Grz*_*cki 66 command-line colors terminal diff output

有提供彩色输出的工具:

dwdiff -c File1 File2 # word level diff
grep --color=always # we all know this guy
...
Run Code Online (Sandbox Code Playgroud)

问题是:如何将任意程序的彩色输出转换为彩色html文件?

其他输出格式也可能适用(LaTeX 会很棒)。我认为 html 是一个很好的起点,因为很容易将其转换为其他格式。

(对于如何保留终端颜色代码的好奇,请按照答案:https : //unix.stackexchange.com/a/10832/9689... | unbuffer command_with_colours arg1 arg2 | ... - 工具unbufferexpect 的一部分)

小智 47

这个问题的答案可能就是你想要的。

它链接到这些工具,这些工具可以进行您正在寻找的转换:

  • `aha` 在 Ubuntu 中也可用:`sudo apt install aha`。但请注意,当输出是管道时,某些命令会抑制颜色。因此,当将输出发送到 aha 时,您可能需要为命令添加选项。对于 `ls` 或 `grep`,它将是 `--color=always`。 (8认同)
  • 也可用于 MacOS:“brew install aha” (3认同)

ken*_*orb 8

您可以尝试vim使用AnsiEsc.vim插件通过转义码查看 ANSI 颜色,然后重定向到标准输出vim -(确保您已激活:syntax on)。然后通过 vim 命令将文件转换为 HTML::TOhtml. 生成的 HTML 文件应该有彩色输出。


要将源代码以非交互方式转换为 html,请尝试以下命令:

vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c
Run Code Online (Sandbox Code Playgroud)

来源:(:help g:html_no_progress部分:help TOhtml)。

注意:您可以使用 ,-代替 ,myfile.c从标准输入转换代码。

  • 我在评论中提供了它们。如果我正确理解了说明。我猜你是在建议我编辑答案?这很好。我可以做到。 (2认同)

scr*_*uss 6

ansi2html,在 pypi 上。

人们可能会通过lolcat 和 ansi2html从管道常规 shell 输出中获得无限的乐趣。就像是:

… | lolcat -f | ansi2html -ip
Run Code Online (Sandbox Code Playgroud)