博客 / 詳情

返回

命令行操作生產svg動圖

代碼片段生成帶高亮效果的漂亮圖片我們可以使用carbon

在這裏插入圖片描述

但是如果想製作命令行操作的動圖一般是錄屏來轉換成GIF圖,其實還有另一種方式,我們可以使用asciinema + svg-term 生成SVG圖片

示例圖片

優點

  • 操作過程簡單
  • 更小的文件體積
  • 矢量
  • 可以手動修改速度和文案
  • 文字可以複製
  • 跨平台

首先需要安裝asciinema和svg-term

安裝asciinema
svg-term安裝比較簡單
npm install -g svg-term-cli

第二步:安裝完成後,先使用asciinema開始記錄

# 默認會使用/bin/bash作為shell
asciinema rec

我運行了下面兩行代碼

# fuc是file-uploader-cli的簡寫
fuc -t github -c github.json
fuc test.svg
file-uploader-cli是一個命令行文件上傳工具,可以通過命令行上傳文件到github,阿里雲對象存儲,七牛雲對象存儲等。可以方便的用做圖牀上傳工具也可以在Typora中使用:當插入圖片時會自動上傳並替換為網絡圖片地址。

退出asciinema記錄可以使用Ctrl + D,也可以直接鍵入exit。退出時我們選擇鍵入ctrl+c來保存記錄到本地。

asciinema生成的記錄大概是這樣

{"version": 2, "width": 101, "height": 24, "timestamp": 1614856599, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.016438, "o", "\u001b[?1034hbash-3.2$ "]
[0.664553, "o", "fu"]
[0.664684, "o", "c -t github -c "]
[0.664785, "o", "github.json"]
[1.189336, "o", "\r\n"]
[1.272668, "o", "bash-3.2$ "]
[2.81004, "o", "fu"]
[2.810274, "o", "c test.svg"]
[3.2536, "o", "\r\n"]
[3.972172, "o", "https://cdn.jsdelivr.net/gh/Iamxiaozhu/file-uploader-cli/test.svg\r\n"]
[4.982049, "o", "bash-3.2$ "]
[7.350391, "o", "exit\r\n"]

可以直接修改時間參數來調整速度,

第三步:根據第二步生成的本地記錄生成svg

svg-term --in /var/folders/0k/25hwq5v57j5dfg7xk9966k4c0000gp/T/tmpyckli_c2-ascii.cast 
    --out ./test.svg --height 9 --width 60 --window

--in 指定配置所在地址

--height 生成SVG圖片高度

--width 生成SVG圖片寬度

--out 輸出svg圖片

--out SVG圖片是否帶邊框

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.