【自动化】实现了简单的 Mac 端剪藏功能

用 betterandbetter 和 applescript 实现了一个网页端剪藏功能的 Demo。网页端鼠标选中内容后按快捷键,可以同步到脑图笔记中,第一次按快捷键创建节点,填写标题并把网页URL和标题加到评论中,第二次把选中内容添加到评论里。


摘录效果图

现在功能还比较简单,第一次创建节点和标题,第二次加评论,第三次创建节点和标题这样循环。当前文档持久化在了一个文件里。换文档的时候需要把文件里的内容清空。目前新建的节点都是独立的,后面想加入新建节点为某个节点的子节点或者兄弟节点的功能。

视频还传不上来。

看大家有没有兴趣,有兴趣的话我搞个教程出来~

6 个赞

很有创意,已加精!

PS:特别大的视频可以用B站传完,粘贴到论坛,支持嵌入显示和播放

期待视频教程~ :star_struck:

写教程还需要点时间 :joy:。我资源放上来,可以先看看。

  1. betterandbeeter(手势快捷键工具)
  2. Applescript 脚本见附件 marginnote.scpt (3.9 KB)

然后是目前的流程:

  1. 将下载好的AppleScript脚本放到一个文件夹下,记住它的绝对路径下一步需要用到。

  2. betterandbetter 中配置快捷键来运行刚刚下载的脚本,注意最后的路径参数要改成你本地的路径:

    do shell script “osascript -l JavaScript /Users/furoxr/scripts/marginnote.scpt(需要修改)”


-------------------------------------------------割------------------------------------------------
已知的几点问题:

  1. 脚本会获取 Edge 的所选内容,还没做其他浏览器的适配,这个可以通过修改脚本內的应用名字实现(Chrome 和 Edge 貌似只有名字不同,打开脚本把开头的应用名字换了应该就可以了)。
  2. 剪藏有时候不会实时刷新,就是内容已经存储了,但是在文档里看不到,需要重新进入才能看到。这个不清楚原因,还需要请开发同学解惑一下。
  3. 因为需要在脚本间保存节点和文档状态,现在是通过写状态到文件实现的(运行后会在桌面创建一个 json 格式的文件保存文档和节点id)。所以在换文档的时候,需要手动删除文档內的值。
2 个赞

剪藏功能更新了,新增了几种操作。支持新增节点、向节点添加评论和重置缓存(重新选择脑图)了。

先给大家重新介绍下原理,脚本本地维护了两个状态:一个是当前脑图文档,另一个是当前脑图节点。在未选择脑图的情况下使用脚本时,需要输入脑图的名称,脚本会将选中的脑图记录下来。选中脑图后,后续的增加节点就都会增加到这个脑图中了。同样,新增节点时也会将新增的节点记录下来,这样后面添加评论时就会加入到当前的节点里。而重置缓存就时将这两个信息清除,这样就可以切换脑图了。

工具还是 betterandbetter ,但是配置和代码需要更新下:






marginnote.scpt (7.1 KB)

3 个赞

不能使用,看到代码中也有你自定的路径,是否需要修改才能使用?

对的,脚本下载下来以后, betterandbetter 脚本库里的命令需要把路径改成你本地脚本的路径。像下面的 /Users/furoxr/scripts/marginnote.scpt 需要更改:

// 默认方式:第一次调用增加脑图节点并设置标题,第二次向该脑图节点增加评论
do shell script "osascript -l JavaScript  /Users/furoxr/scripts/marginnote.scpt default"

// 清除记录的当前脑图文档和脑图节点
do shell script "osascript -l JavaScript  /Users/furoxr/scripts/marginnote.scpt clear"

// 清除记录的当前脑图节点
do shell script "osascript -l JavaScript  /Users/furoxr/scripts/marginnote.scpt clear-note"

// 向当前脑图文档中添加脑图节点
do shell script "osascript -l JavaScript  /Users/furoxr/scripts/marginnote.scpt create-note"

// 向当前脑图节点添加评论
do shell script "osascript -l JavaScript  /Users/furoxr/scripts/marginnote.scpt append"

感谢分享教程!会在开学季进行微博精选推荐

Hello

哇 厉害!很期待教程呢!搓手中~

Kind Regards,
MarginNote-Chelsea
Support Team