Я спросил себя, есть ли уже инструмент, который может постобработать asciinema json, чтобы он выглядел так, как будто он введен вручную.
Участник borgbackup недавно сделал новые записи asciinema и нашел хороший способ ввода большого количества текста, избегая опечаток:
Сначала он ввел их в оболочку (без записи asciinema), а затем, пока asciinema записывала, он просто использовал некоторую функцию автозаполнения/вызова истории в оболочке, поэтому ему просто нужно было вручную ввести первые несколько символов, а затем остальные были заполнены из памяти оболочки.
Хотя это хороший хак, у него есть один недостаток: первые несколько символов выглядят набранными вручную, а затем вся остальная часть этой строки появляется как взрыв. Выглядит странно, а также с точки зрения скорости иногда трудно читать / следовать.
Одна из проблем с такой постобработкой может заключаться в том, чтобы на самом деле узнать, что было отражено от клавиатуры и что было создано оболочкой - есть ли какой-то способ узнать это?
Некоторое время назад я задавался тем же вопросом. Я написал несколько фильтров JSON с помощью jq , чтобы «нормализовать» задержки в записи. Проверьте № 157. Я не уверен, что смогу найти свои скрипты сейчас, но недавно я собирался снова использовать asciinema, поэтому меня снова заинтересует этот вопрос.
В любом случае, если уже есть готовые инструменты, я тоже был бы рад узнать.
Действительно, можно было бы создать инструмент, который мог бы отличить эхо-текст от сгенерированного текста. Для этого потребуется, чтобы asciinema Recorder также захватывал стандартный ввод (в дополнение к стандартному выводу) и сохранял его в файле записи. У нас его сейчас нет, но было бы нетрудно реализовать (и мы сейчас обсуждаем формат asciicast v2 , учитывая, что stdin может быть сохранен по желанию).
@ThomasWaldmann Я использую борг, это фантастическая, отличная работа! И было приятно видеть, что asciinema используется в документах Борга 😍
Я думал о чем-то подобном, где мы могли бы определить команды для выполнения в файле и передать его в asciinema с параметром в качестве временного перехода, чтобы записать его без проигрывания сценария вручную.
Самый полезный комментарий
Я думал о чем-то подобном, где мы могли бы определить команды для выполнения в файле и передать его в asciinema с параметром в качестве временного перехода, чтобы записать его без проигрывания сценария вручную.