Git Product home page Git Product logo

logseq-plugin-ticktick's Introduction

logseq-plugin-ticktick

中文版 | English Version

logseq-plugin-ticktick 是一款无侵入性的 TickTick / 嘀嗒清单双向同步插件,旨在无缝集成 TickTick 与 Logseq 的 TODO 体系,让用户能够在两个平台之间同步任务而无需执行任何额外命令。 1.gif

主要功能

  • 任务和子任务的双向同步:Logseq 的 TODO 块将同步到 TickTick 作为任务,其中 TODO 块的内容成为 TickTick 任务的标题,子块作为任务的描述。如果子块被标记为 TODO,它会作为子任务同步,反之亦然,确保两个平台间任务结构的一致性。
  • 自定义的优先级映射:插件允许用户在设置中自定义 Logseq 与 TickTick 间优先级的映射关系。默认映射为 Logseq 的 #A 对应 TickTick 的高优先级,#B 对应中优先级,#C 对应低优先级。
  • 计划和截至时间的双向同步:支持计划时间和截至时间在两个平台间的同步,且当Logseq设置的计划时间带有明确时间时(而不是只设置开始日期),同步到TickTick后会带有提醒功能。
  • 重复任务的双向同步:使得重复任务在两个系统间保持一致。
  • 标签和列表的同步:TickTick 中的标签和清单将作为 Logseq 的标签(以 # 开头)添加到 TODO 块的末尾。反之,Logseq 中的标签如果和 TickTick 中的标签或清单匹配,也会同步到 TickTick 中。不匹配的标签将保留在 Logseq。

局限性

  • Logseq到TickTick方向的同步,需要用户在编写完TODO块后回车才可以触发;
  • 删除的同步需要用户在 Logseq TODO 块开头的点右键选择 Delete 才能触发;
  • 仅支持 Logseq 中格式的重复任务同步。使用 TickTick 特殊格式的重复任务,重复规则不会同步到 Logseq,但仍会保留在 TickTick 中;
  • 插件运行需要 TickTick 中至少有一个清单。
  • TickTick中的标签和清单名称中不能包含空格,否则会导致同步时丢失标签或清单。
  • TickTick中的标签和清单存在相同名称时,Logseq任务向TickTick同步会优先选择清单。

副作用

  • 设置计划时间后,Logseq 的 TODO 块下方会生成一个空白的 LogBook。

安装和使用

请遵循以下步骤来安装和配置 logseq-plugin-ticktick

  1. 从 Logseq 插件市场安装插件。
  2. 在 Logseq 中启用 logseq-plugin-ticktick
  3. 在插件设置中配置TickTick / 嘀嗒清单的登录Token,并根据需要配置优先级映射和其他同步选项。
    3.1 Token需要登录TickTick/滴答清单网页版,打开开发者工具并选择网络标签(Network),刷新页面后随机选一个请求,复制请求头中Cookie的t字段值,直至分号。 2.jpg
  4. 开始在 Logseq 中创建和管理 TODO 任务,并看它们自动同步到 TickTick / 嘀嗒清单中。

注意事项

  • 同步的时机有两处,一是当用户在Logseq编写完TODO并按回车后,该任务会同步到TickTick;二是Logseq重启时,所有未同步的任务会被同步到TickTick,并且TickTick中的任务也会同步到Logseq,该时机可在插件设置中配置快捷键手动触发。
  • 初次使用时,配置完Token后,TickTick 和 Logseq 中的任务将进行一次全面互相同步。

许可证

logseq-plugin-ticktick 根据 MIT 许可证发布。详情请见 LICENSE 文件。


logseq-plugin-ticktick's People

Contributors

luckykellan avatar semantic-release-bot avatar

Stargazers

 avatar Daryn avatar  avatar WillZ avatar  avatar LaughingBubba avatar  avatar Chen Xie avatar  avatar  avatar Lourens avatar Yutong LI avatar  avatar  avatar

Watchers

 avatar

Forkers

weiyiacc

logseq-plugin-ticktick's Issues

feature request 是否能与 haydenull/logseq-plugin-agenda 插件兼容

感谢您的插件,请问您能否增加一个设置选项兼容 haydenull/logseq-plugin-agenda 中的格式,一个基本的形式如下

TODO 思考
SCHEDULED: <2024-07-20 Sat 12:45>
:AGENDA:
estimated: 30m
:END:

这代表7月20日12:45-13:15安排上 “思考” 这个工作。用agenda的属性代替现有的使用deadline属性来标注结束时间

如能兼容,我们将可以结合agenda强大的日程管理功能,并且能利用此插件桥接滴答清单。实现在手机上发出提醒和查看日程的功能。

如您能给出一些提示,我很愿意向您的项目贡献代码。

Sync function seems not work

First of all, I would like to express my sincere gratitude for your hard work and dedication to this project.

When I configured this plugin and started using it, I found that it does not sync with Ticktick or push my Todo to Ticktick.

After opening the development console and disabling the other plugins, I noticed that every time I enabled this Ticktick plugin, there was an error message displayed, as shown below. Additionally, I did not find any network requests to Ticktick in the network tab.

image

Here is my config of this plugin.

image

Thank you again for your dedication and support.

Auto create tags in ticktick

Would you consider allowing us to automatically create missing tags/projects in ticktick when syncing tasks from logseq ?

[help] manual sync + others

Hi, thanks for writing this plugin. I appreciate that it only connects to the ticktick api server and doesn't connect to a Supabase or Redis server when capturing the users access token - unlike a certain other plugin.

Anyways, when configuring 'synckeybinding' is that a fixed CMD+key sequence ? like if I put 's' in there it will be CMD+s ? or is that initiated by '/' ?

Also yesterday when I was exploring the sync function, it generated a summary "scheduled and deadline" section in that days journal but today its no longer there and theres no equivalent in todays journal. I'm not sure how this feature is supposed to work. Note: I observed this before updating the plugin to v1.2.3.

One last thing: Are you open to PRs? I'm unlikely to make code changes but will probs add some doco explaining some of the features for users.

关于Token

Token到期后会有提示吗?按照目前的设计还需要用户重新去拿一次token。

滴答/Ticktick有开放API,可以用OAuth2方式获取token,可能在用户引导上更加方便。不过我试了下不能用于v2的API,只能用于v1。

不知道是否有计划未来添加习惯的同步?如果有的话,习惯只有v2的API,就只能用现在的设计。

能否实现到事件当日再进日志。

现在用dealine创建事件时间,会从创建之日起每天出现在当日日志里。
不知道是否能用schedule创建事件时间,并在事件当日再出现在日志里。
或者能选择出现的时间段,比如提前三天提醒,然后连续三天出现在日志里。
image

English translations

The sync notifications are in Chinese, would you consider translating them to english ?

CORS Error

Thank you for the plugin.
When trying to sync my tasks, I get a CORS error:

同步开始---------------
index.html:1 Access to XMLHttpRequest at 'https://api.ticktick.com/api/v2/batch/check/0' from origin 'lsp://logseq.io' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
index-96faebf6.js:28 
        
        
       GET https://api.ticktick.com/api/v2/batch/check/0 net::ERR_FAILED
(anonymous) @ index-96faebf6.js:28
xhr @ index-96faebf6.js:28
Hp @ index-96faebf6.js:30
_request @ index-96faebf6.js:31
request @ index-96faebf6.js:30
(anonymous) @ index-96faebf6.js:26
K4 @ index-96faebf6.js:31
Qp @ index-96faebf6.js:63
await in Qp (async)
g.emit @ index-96faebf6.js:3
#lspmsg# @ index-96faebf6.js:12
(anonymous) @ index-96faebf6.js:12
index-96faebf6.js:63 Uncaught (in promise) s0 {message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', config: {…}, request: XMLHttpRequest, …}
Qp @ index-96faebf6.js:63
await in Qp (async)
g.emit @ index-96faebf6.js:3
#lspmsg# @ index-96faebf6.js:12
(anonymous) @ index-96faebf6.js:12

[help] Does it work well with multiple graphs?

Hi, I use two graphs on a daily basis and create a lot of TODOs in both. So before the synchronisation, how is it decided which graph the task should go to?
Or say, is there any plan to support multiple graphs? Thanks!

求助,按照方法设置后同步失败

按照说明设置后,logseq在重启时显示“正在同步滴答清单”,但是滴答清单无同步。
logseq在块中设置todo并回车后,无任何反应,滴答清单刷新后也没有反应。
求帮助~

Respect journal page name format

My tasks appear to be syncing properly, however the tasks from ticktick go to pages named 2024-04-Sa 6666 for instance, while my journal block is named 2024-04-13 Saturday.
I'm using yyyy-MM-dd EEEE as my preferred date format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.