我如何自动化我的dotfiles截图

2021-06-17 17:49:34

最近,我在终端环境和Dotfiles结构上工作了很多。我的策略一直是为了让一切都在github上,所以我可以在我想开始在一台新机器上工作时拉下来。在这样做的同时,我也想展示在Readme文件中的一切看起来像什么,所以我创建了一点自动化,打开一个新的Tmux会话,分成几个部分,打开一些应用程序,然后拍摄截图上传到Cloudary,然后复制到我的剪贴板。

现在,通过在Mac的自动化器应用程序中创建一个新的应用程序来执行此操作。我开始拖动AppleScript块。在这个脚本中,我从开放的Kitty开始(我的终端仿真器的选择),然后在我使用Findshot拍摄屏幕截图之前打开所有内容。在i' m完成后,我运行了一个子应用程序,基本上只是运行一个节点.js脚本,该脚本将新拍摄的截图上载到篮球,然后将其复制到系统剪贴板。

此脚本是有点挑剔,因为它主要依赖于使用手动执行击键和密码代码,并在时间密集型任务之间添加几个延迟语句。这不幸的是,有时会导致Tmux拆分丢失,或者屏幕截图才能在浏览器或Finder窗口上拍摄,而不是实际终端。在大多数情况下,既然脚本有效,然后'非常好用。

在运行{输入,参数}上告诉申请书"凯蒂" - 开放式终端仿真器激活告诉申请"系统事件"讲述过程"凯蒂"延迟2击键" A"使用控制击键":new"钥匙码36击键" CD&& vim tracing.ts"钥匙码36击键" A"使用控制下击键" v" Keystroke" Clear&& neofetch"钥匙码36击键" A"使用控制击键键" - "击键" htop"键代码36延迟4键代码26使用{shift down,命令下降}延迟1键代码36延迟2击键" a"使用控制击键和#34; x"击键" y" Keystroke" A"使用控制击键和#34; x"击键" y" Keystroke" A"使用控制击键和#34; x"击键" y"击键" W"使用命令下端告诉结束告诉结束告诉返回rependend运行

此脚本所做的就是它在最新屏幕截图的屏幕截图文件夹中查看,然后使用其Node.js SDK将其上载到Cloudinary。在它之后' s已成功上传并在回调中发送回,我们拍摄了图像的安全URL并将其复制到系统剪贴板。

从&#34导入{v2作为cloudary} from&#34 ;;从&#34导入剪贴板;剪辑&#34 ;;从&#34导入dotenv; dotenv&#34 ;;从&#34进口fs; fs&#34 ; dotenv.config(); cloudinary.config({cloud_name:process.env.cloudinary_cloud_name,api_secret:process.env.cloudinary_api_secret,api_key:process.env.cloudinary_api_key,});函数main(){console.log(& #34;上传图像......"); const dirpath =" /用户/ albin /屏幕截图&#34 ;; const files = fs .readdirsync(dirpath," utf8").filter((文件)=>!file.startswith("。")); const imagepath = [dirpath,文件[files.length - 1]]。加入(" /"); cloudarinarinarinarinarinarinarinarin.uploader.upload(imagepath,(err,res)=> {if(err){return console.log(err);} if(res){fs.rmsync(imagepath);剪辑y.writeync(res.secure_url );返回console.log(" done!");} console.log("没有结果返回");} main();

如果您在这里一路走下去,请考虑在Twitter @alingroen上关注我。祝你今天过得愉快!