STtools 插件:日程管理初探 2

上篇文章分享思源日程管理初探 - 链滴

继上次初探,目前效果如下(v0.3.20)

初次使用

平时使用

注 1:目前周期事件的交互用数据库不知道如何更好的交互,故周期规则采用了 RRULE 规则,导致增加了使用门槛,但可以实现较复杂的自定义逻辑(自认为)

注 2:日历事件可通过订阅链接分享到其他平台(比如小米日历:同时支持日历提醒)。更多详见上篇帖子

注 3:这段时间主要用 fullcalendar,在思源里简单实现了一个日历视图(额,其实我不是很想重复造轮子,现有的用 vue 写的日程插件的源码,我能力有限(业余小白是这样的),要读懂的话,估计要花费大量时间,且两个插件的日程数据逻辑不一样。)

计划:

  1. 支持添加日程闹钟(之前有人提到日历的提醒不强,理论上小米日历支持闹钟提醒的,还未尝试)
  2. 其他优化。。。

最终目的:

不断优化下面的过程:(尽可能地利用思源自带的功能实现,所有的数据都用思源的方式存储,这样开不开启插件,数据都不会受影响)

在思源中添加日程的体验,在手机上可能获得更好的提醒体验

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25301 引用 • 104467 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • FlyingY

    牛逼 市场的插件好像还没更新,感觉画面比另一个好,就是能不能在日历视图添加日程?

    1 回复
  • stevehfut via Android

    画面好还得是写味主题的配色好看

    至于在日历视图里添加日程(这也是我想实现的,就是思源数据库相关的 api 有点难用(个人感觉),估计春节左右会实现(不保证一定可以))

    目前感觉用思源自带的将块添加到数据库的方法来创建日程感觉体验还能接受

  • 非常好,真的非常需要这种插件功能 🙏

    1 回复
  • stevehfut

    感谢肯定,欢迎尝试使用,目前交互并不是很优雅,欢迎提出想法或建议

  • FlyingY

    大佬,感觉你的日历视图能不能单独做成插件,用于给所有数据库作为日历使用?本体的数据库日历视图的计划不知道要排到什么时候了,但是你这个我感觉很有搞头呀,日历视图的显示逻辑个人感觉不是很复杂,基本是几月几号到几月几号的情况,数据库情况就两种,一个是一个列里包含开始和结束日期,和你插件的那个日程数据库一样,还有一种情况是一列开始日期一列结束日期,如果加上代办,就多一列状态。

    给数据库加入日历视图,可以不自动加入,手动创建加入日历视图,在创建时选择两种日期状态,输入对应开始结束列的名称,输入状态列的名称还有完成和未完成标签情况,这些信息就能生成日历视图了。

    不知道这样是否好实现,真的特别喜欢大佬的这个日程插件,特别美观还适配主题,但是这个日程添加和我任务管理数据库是两个,每次添加任务到日程数据库还需要重新选择时间,这个其实有点麻烦,而且我如果改时间就需要更改两个时间 😭

    2 回复
  • stevehfut

    最近我在搞在日历视图上添加日程,整个逻辑也重构了一下,

    但是这个日程添加和我任务管理数据库是两个

    对于你这种情况,等下个版本,可以直接给你任务管理的数据数添加一个”日程“命名,再改一下部分列的名称,就可以不用再额外添加日程数据库了

    给所有数据库使用

    这个也想过,有几个弊端

    1. 日程信息我希望一个视图可以看到所有的,而不是单个数据库中的(虽然可以加开关,但精力有限,以后有时间可能会搞
    2. 思源的数据库性能不是很好,如果把所有的日程都添加到一个数据库里,数据多了可能会很卡,所以就想着多创建数据库,同时也可以改下命名,就能将很久以前的日程数据归档(在渲染日程视图时不加载)

    所以,优先实现获取所有日程数据库的数据

    1 回复
  • stevehfut

    你的日历视图能不能单独做成插件

    不再打算再新开插件,因为插件多了后期维护太麻烦了

    我尽量做到功能模块化,不用的功能不会初始化(占用资源)

  • FlyingY

    那能不能自定义数据库的名字?现在是固定日程的吧?或者可以识别数据库的属性中的命名和别名模块,只要有日程都能添加进去?不然很多数据库一样的名字插入数据库操作也很麻烦,同时不同名称可以用这个任务管理数据库模版分享 - 链滴分享的自动加入数据库的代码实现,这样还能做不同类型的区分

    1 回复
  • stevehfut via Android

    目前的识别方式就是通过命名属性实现的,数据库的名字可以自己改,你看看我设置面板下面的简单教程。

    自动加入数据库,我下个版本有相关代码实现,你可以看看这个帖子 STtools 插件:日程视图初步交互

  • 5kyfkr 2 评论

    6,支持一下,另外希望可以支持时间段分成两列,我的模板现在用的是开始和截止是两个时间列,单个时间列在任务管理的时候如果只填一个日期没法清晰界定是开始还是结束的时间。

    另外希望主键、时间、备注的列位置不一定是前三列,能根据自动识别对应名字的列,并且列名字可以自定义就更完美了。

    1 回复
    2 操作
    5kyfkr 在 2025-01-20 15:06:33 更新了该回帖
    5kyfkr 在 2025-01-20 15:06:15 更新了该回帖
    今早上尝试兼容‘时间段分成两列’的情况,发现需要改的地方太多了,如果强改的话,代码可读性会越来越低。所以暂时不考虑兼容了,打算等后续功能基本完善后,重构代码时进行兼容,实在抱歉!
    stevehfut
    @stevehfut 没事,期待大佬先完成其他功能
    5kyfkr
  • stevehfut 1 1 赞同

    另外希望主键、时间、备注的列位置不一定是前三列,能根据自动识别对应名字的列,并且列名字可以自定义就更完美了

    下个版本可以实现自动识别对应名字的列,但如果自定义的话,插件的配置就太繁琐了,所以暂时不搞自定义了,

    时间段分成两列

    额,这个后面我再看看能不能兼容吧,如果直接改的话,我之前的数据会出问题,后面我再加个开关吧(预计下下个版本做)

    目前为了实现日程视图的交互,工作量有点大(因为要测试多种实现逻辑,从而找到一个稳定方便的交互方式,因为不太了解思源的插件 api(之前的插件主要使用的是内核 api),故有些细节出错会影响交互体验,所以开发的工作量有点大(其实主要是我太菜了))

请输入回帖内容 ...