Конвертировать вывод консоли в HTML код – это задача, которая может пригодиться при составлении документации, для вывода результатов облачных вычислений на страницы сайта и т.д. При этом если удастся сохранить цвета в том виде, как они есть в стандартном выводе – это значительно увеличит информативность текста.
Если перед вами стоит именно эта задача – сохранить цветной вывод консоли в HTML код и при этом сохранить исходные цвета, то вам очень пригодиться готовое решение – программа aha.
aha – это Ansi HTML адаптер.
aha принимает SGR-раскрашенный ввод и печатает W3C соответствующий HTML-код.
aha читает ввод из файла или стандартного ввода и записывает HTML-код в стандартный вывод.
Исходный код программы: https://github.com/theZiz/aha
Установка программы очень проста:
git clone https://github.com/theZiz/aha.git cd aha/ make sudo make install
использование:
aha <опции> [-f файл]
Справка по aha:
aha (--help|-h|-?) --pink, -p: Розовый фон --stylesheet, -s: Использовать таблицу стилей вместо встроенных стилей --iso X, -i X: Использовать ISO 8859-X вместо of utf-8. X должна быть 1..16 --title X, -t X: Дать html выводу заголовок "X" вместо "stdin" или имени файла --line-fix, -l: Использовать фикс для ввода, использующего контролирующие последовательности для изменения позиции курсора вроде htop. Это горячее исправление, оно может не работать со программами вроде htop. Пример: echo q | htop | aha -l > htop.htm --word-wrap, -w: Заворачивать длинные строки в html файле. Это работает с Браузерами поддерживающими CSS3 а также со многими старыми. --no-header, -n: Не включать заголовок в генерируемый HTML, полезно для вставки в полные HTML файлы.
Примеры:
aha --help | aha --black > aha-help.htm
Записывает текст этой справки в файл aha-help.htm
colordiff oldfile.c newfile.c | aha > colordiff.htm
Создаёт HTML файл с раскрашенным diff-выводом двух файлов "oldfile.c" и "newfile.c" с белым фоном.
ls --color=always | aha --pink > ls.htm
Создаёт HTML файл с раскрашенным ls-выводом и розовым фоном.
echo q | htop | aha --black --line-fix > htop.htm
Создаёт HTML файл с выводом htop. Вы должны использовать --line-fix поскольку htop использует другую команду новой строки.
Связанные статьи:
- Лучшие терминальные мультиплексные инструменты (50%)
- Как просмотреть или отредактировать метаданные pdf или изображениях из командной строки Linux (50%)
- Как установить 7zip на Linux (50%)
- Работа с архивами в Linux (50%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Как определить кодировку файла или строки. Как конвертировать файлы в кодировку UTF-8 в Linux (RANDOM - 50%)
Замечательная программа, но столкнулся с тем что в некоторых случаях цветной вывод не сохраняется..
В частности не удалось сохранить цветной вывод для команды git log -p