Есть ли способ конвертировать вывод bash в html? например, если у меня был некоторый раскрашенный вывод в bash (что-то вроде htop), как я могу преобразовать его в теги html... (примерно так: <p style="color: red">some text</p>
)
Вывод оболочки linux в html
Ответ 1
Там ansifilter
плюс некоторые инструменты, такие как highlight
, выдадут раскрашенный html из обычного текста, такого как исходные файлы.
Оба доступны здесь.
Ответ 2
Да, вам нужно передать результат с помощью инструмента, такого как ansi2html.
Ответ 3
Без какой-либо красивой печати самая простая вещь, которую вы всегда можете сделать, - это избавиться от всего, что требует экранирования, и обернуть основную оболочку HTML (следующее должно быть допустимым минимальным HTML5). Например, возьмите fastesc: http://raa.ruby-lang.org/project/fastesc/ и завершите его в оболочку HTML.
Если вы хотите сохранить магию ANSI, вам нужно преобразовать ее в HTML, возможно, http://ansi-sys.rubyforge.org/
И тогда сделайте что-нибудь подобное, в зависимости от ваших потребностей:
require 'ansisys'
def ansi_escape(string)
terminal = AnsiSys::Terminal.new
terminal.echo(string)
terminal.render
end
def to_html(string)
%Q{ <!DOCTYPE html>
<title>Converted to html</title>
<pre>
#{ansi_escape(string)}
</pre>
}
end