- 摘要
- 前言
- FV悬浮球自定义任务简介
- 自定义任务编写
- 1、自定义任务文件结构
- 2、任务编写
- 2.1、基础子任务:外部分享文字并添加到ob日记
- 2.2、任务1:文字
- 2.3、任务2:待办
- 2.4、任务3:分享文字
- 2.5、任务4:分享图片
摘要
简述如何使用安卓手机上的悬浮球编写自定义任务,配合obsidian以及咕咚云图使用,实现了在不打开obsidian的情况下将以下四种内容插入obsidian当日的日记种的功能,四种内容如下:
- 文字
- 待办事项(reminder格式)
- 分享文字
- 分享图片(会自动上传图片至图床然后以外链的形式插入obsidian)
请看视频演示(这里只演示了3项,分享文字并没有进行演示)
写这篇文档是为了记录分享下折腾的过程,也是抛砖引玉。
前言
前几天看到obsidian QQ群里有一个老哥(维克笔记)用苹果手机的快捷方式实现了在不打开obsidian的情况下输入一段文字保存到obsidian中的某个文档:详见视频
我就想着安卓手机能不能也实现类似的功能,第一时间就想到了FV悬浮球,这个软件相当强大,所以就准备用它来模仿。
除了模仿上面这个需求外,还有个问题,手机端的obsidian并没有支持移动端的自动上传图片至图床的插件,所以另一个需求就是在手机上直接选中图片执行任务,让它自动将选中的图片上传至图床并将图片以外链的形式插入到obsidian的某个文档中。
所以需求就是在不打开obsidian的情况下将以下四种内容插入obsidian当日的日记种的功能,四种内容如下:
- 文字
- 待办事项(reminder格式)
- 分享文字
- 分享图片(会自动上传图片至图床然后以外链的形式插入obsidian)
FV悬浮球自定义任务简介
FV悬浮球的自定义任务是一种可视化编程,它的功能完全足够满足这次的需求。
下图中红框部分就是软件提供的各种命令,而用户就是用这各种命令来实现目标。具体怎么新建任务以及各个命令的功能我就不介绍了,详见命令支持库 - FV 悬浮球 - fooView (gitbook.io)
自定义任务编写
1、自定义任务文件结构
分析上面的四个需求:在不打开obsidian的情况下将以下四种内容插入obsidian当日的日记种的功能,四种内容如下:
- 文字
- 待办事项(reminder格式)
- 分享图片(会自动上传图片至图床然后以外链的形式插入obsidian)
- 分享文字
这四种内容其实都是文字的形式,而且都是追加文字到一个md文档中,只是插入的具体内容和插入前要执行的步骤不一样罢了。所以为了提高代码的复用率和减少出错,就让它们共用一个子任务,这个子任务的功能应该是==插入一段文字到obsidian中当日的笔记中==。
所以我创建了5个任务,其中的“==外部分享文字并添加到ob日记==”任务是另外四个任务共用的子任务。
大致流程及结构如下图所示:
下面开始编写FV任务部分。
2、任务编写
一些细节可能需要根据自身的obsidian设定进行更改。
2.1、基础子任务:外部分享文字并添加到ob日记
肯定是先完成最基础的任务“==外部分享文字并添加到ob日记==”的编写,这个整完了其它的都比较简单。
- 流程图:
- 具体编程:
- 文件:外部分享文字并添加到ob日记.fvt
- 需注意06中的被替换内容正则表达式为
\S*
,有个空格
2.2、任务1:文字
有了上面编写好的基础子任务,这个输入文字添加到文档实现起来就简单多了。
下面这段是直接在文档内容的最后面追加,并没有空行什么的,有需要的可以自己弄个空行。
注意:在FV里空行直接打有时候没法打出来,可以先在手机的便签里写个手动换行的段落,然后复制到FV中,再把除了换行符的其它字符删除即可。
- 流程图:
- 具体编程:
2.3、任务2:待办
我使用的插件是reminder,它的格式要求是
- [ ] 待做事项 (@yyyy-mm-dd)
当然也可以加具体时间,这里我懒得整了。有需要的可以自己改动任务
-
流程图:
-
具体编程:
2.4、任务3:分享文字
这个其实就是基础子任务“外部分享文字并添加到ob日记”,只不过为了名字看起来统一就又新建个任务嵌套下
- 具体编程:
- 右上角点击3个点,然后点击“添加到分享菜单”,选择分享的内容类型为“文字”
- 右上角点击3个点,然后点击“添加到分享菜单”,选择分享的内容类型为“文字”
2.5、任务4:分享图片
这个稍微有点麻烦,这个任务需要先把分享的图片上传到图床,然后再将外链插入obsidian日记中
这里图床软件咕咚云图要设置下:关闭图片上传前确认、关闭自动复制
- 流程图:
- 具体编程:
- 文件:分享图片至日记.fvt
- 文件:分享图片至日记.fvt