如何使用脚本自动化来录制 asciinema 录音?

sor*_*rin 7 ascii asciinema

我不想记录我自己的击键来创建 asciinema 教程,而是想编写它们的脚本,这样我就可以随着时间的推移轻松改进我的教程,而不必每次想要进行更改时都需要重做它,或者花费大量时间尝试纠正录音中的拼写错误。

主要是我希望能够做一些类似的事情:

type: "df"
wait: 2s
type: "echo foo"
Run Code Online (Sandbox Code Playgroud)

这将使我能够在更改脚本时轻松地从头开始重建录音。

我怎样才能做到这一点?

a-l*_*ues 7

我为自己的项目搜索了很多解决方案,这是我提出的解决方案:

我的解决方案:

我计划为我所在的项目做的是同时使用 asciinema 和demo-magic.sh

具体来说,我将使用 asciinema 进行带有标志的记录-c(请参见此处),并使用 demo-magic.sh 进行自动键入,因为它支持等待命令完成执行(或不执行)以及自定义等待时间那。该命令看起来像这样asciinema rec -c "./mydemoscript.sh" myrecording。请参阅项目以了解正确用法。

我遇到过的其他事情:

doitlive——我没有使用这个,因为它更像是一种假打字自动化的东西,你实际上必须“像疯子一样打字”,如果你在观众面前做演讲,但你不这样做,这可能会很有用不想弄乱您的击键,或者不想忘记执行某些命令。

asciiscript —— 它是用 Go 编写的,可以运行,但需要你自己编译它,而且它也不支持等待上一个命令完成。

spielbash——一个 Ruby 项目,专门设计用于使用 tmux 自动执行 asciinema 录音。不过,我没有使用它,因为它不那么便携,因为您需要现有的 Ruby 安装,更重要的是,它会不断损坏我所在的活动控制台,并且录音中也会出现不可预测的损坏。此外,该项目自 2019 年以来一直没有承诺。

termscript——它对我不起作用,而且它会冻结我的控制台。它在 python 2 上运行。


更新:我最近遇到了terminalizer。它似乎提供了对实际终端周围类似窗口的边框的支持,并且它有一个内置的 GIF 渲染器,但我还没有尝试过。


sor*_*rin 0

目前,我最终使用 AppleScript 来自动化 iTerm,但这种方法存在缺陷,并且会将您锁定在 MacOS 和 iTerm 上……如果您在录制过程中碰巧做了某些事情,那么您就注定失败。

我仍在寻找更好的方法。