将彩色输出转换为 html

将彩色输出转换为 html

有一些工具提供彩色输出:

dwdiff -c File1 File2 # word level diff
grep --color=always # we all know this guy
...

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

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

(对于如何保留终端颜色代码,请遵循答案: https://unix.stackexchange.com/a/10832/9689 ... | unbuffer command_with_colours arg1 arg2 | ...- 工具解除缓冲是其一部分预计

答案1

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

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

答案2

答案3

ansi2html,在 pypi 上。

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

… | lolcat -f | ansi2html -ip

答案4

你可以使用vim。这是我用来将 diff 输出转换为 HTML 的脚本的一部分。

vim -n \
    -c ':%s%^+  %+++    ' \
    -c ':%s%^-  %---    ' \
    -c ':%s%^   %       ' \
    -c ':set nu' \
    -c ':let html_use_css=1' \
    -c ':so $VIMRUNTIME/syntax/2html.vim' \
    -c ':wq' -c ':qa!' $input > /dev/null 2> /dev/null

之后,我运行 sed 将 CSS 和标题更改为我想要的样子。

*编辑:我应该提到,要获得颜色,您需要打开语法突出显示。我在我的 .vimrc 中这样做,但如果你想在此处添加它,那么它只是另一行,例如

-c ':syntax on' \

相关内容