GitHub - autobashcraft/cli
AutoBashCraft
AutoBashCraft (ABC) 是一个旨在自动化从嵌入在Markdown文件中的bash代码块创建屏幕录制的工具。它非常适合教育工作者、开发人员和内容创作者,他们希望轻松地用视觉方式演示bash脚本或命令。
AutoBashCraft将创建一个Docker运行时来执行Markdown文件中定义的bash命令。这样,您就不会对主机系统进行持久更改。bash命令的输出将被捕获并转换为屏幕录制。然后,屏幕录制可以嵌入到Markdown文件中,并在任何Markdown查看器中查看。
要求
- docker
- node.js
用法
您可以使用NPX轻松执行AutoBashCraft,自动从Markdown文件中定义的bash代码块创建屏幕录制。
运行AutoBashCraft:使用NPX执行应用程序,指定Markdown文件的路径。
npx autobashcraft@latest path/to/your/markdown-file.md
查看结果:执行后,屏幕录制和其他输出将存储在与Markdown文件相邻的“assets”目录中。
Markdown语法
在您的Markdown文件中,使用以下注释语法定义AutoBashCraft的操作:
exec()
- 执行后续代码块中编写的bash命令
此命令用于在终端中运行bash命令。遵循此标签后的代码块内容将在bash shell中执行。
<!--@abc: exec() -->
```bash
echo "Hello, AutoBashCraft"
[![AutoBashCraft Example](https://imagedelivery.net/8B08sdLvw783CQcaKhUoYw/7b2da2e3-c0a5-4ab2-4110-b1da39ff8200/public)](https://github.com/autobashcraft/cli/blob/main/examples/exec_test/assets/exec_test_1.gif)
`create({"path":string})` - 创建具有指定内容的新文件
使用此命令在指定路径创建新文件。代码块的内容将写入新文件。
#!/bin/bash
echo "Content for the new file"
<!--@abc: exec() -->
```bash
cat newfile.sh
chmod +x newfile.sh
./newfile.sh
[![AutoBashCraft Example](https://imagedelivery.net/8B08sdLvw783CQcaKhUoYw/aa49bddc-061e-488d-a5d2-1823ef137100/public)](https://github.com/autobashcraft/cli/blob/main/examples/create_test/assets/create_test_2.gif)
`browse({"url":string})` - 在浏览器中打开指定URL
`browse`命令用于在Web浏览器中打开指定的URL。这对于演示在本地服务器上运行的应用程序或基于Web的交互特别有用。
[![AutoBashCraft Example](https://imagedelivery.net/8B08sdLvw783CQcaKhUoYw/856d9d04-fb34-43b9-48fc-3f30be0db300/public)](https://github.com/autobashcraft/cli/blob/main/examples/browse_test/assets/browse_test_0.gif)
`spawn({"command": string})` - 启动后台进程
使用`spawn`命令在容器运行时内启动后台进程。这对于运行应该继续在后台执行的命令非常有用。
完整内容请查阅原文。 使用init命令停止当前的容器运行时,并使用指定或默认的基础镜像初始化一个新的运行时。请注意,使用bash脚本启动的容器不会受到影响,但使用spawn启动的后台进程将需要重新启动,因为init将停止和移除当前的容器运行时并启动一个新的。
### 示例
请参阅上面的**快照**示例。
### `config(ConfigType)` 更改AutoBashCraft的配置
使用`config`命令在AutoBashCraft中自定义其行为。该命令接受一个`ConfigType`对象,允许详细配置各种功能。
#### 用法
在您的Markdown文件中插入一个带有`config`命令和您期望的设置的注释块:
echo "Hello, AutoBashCraft"
echo "Hello, AutoBashCraft"
<!--@abc: config({
asciinema: {
speed: 2,
cols: 100,
rows: 20,
typingPause: 0.001,
promptPause: 1,
},
withDocker: false,
debug: true,
basePath: "your_custom_path",
}) -->
配置选项 #
- asciinema: 调整录屏录像。
- speed: 播放速度。
- cols: 终端列数。
- rows: 终端行数。
- typingPause: 输入后暂停。
- promptPause: 命令后暂停。
- withDocker: 使用Docker执行命令。
- debug: 启用更多详细输出的调试模式。
- basePath: 指定工作区的自定义基本路径。只有没有任何前导“/”或“./”的相对路径可能有效。
一旦设置,配置将在处理Markdown文件期间持续存在,直到显式更改。
想法 #
贡献 #
我们欢迎对AutoBashCraft的贡献。
许可证 #
该项目根据MIT许可证许可。