{"id":13305615,"url":"https://github.com/ychubachi/org-sync-gtasks","last_synced_at":"2025-03-10T13:31:56.164Z","repository":{"id":40650629,"uuid":"468938933","full_name":"ychubachi/org-sync-gtasks","owner":"ychubachi","description":"Synchronize Org TODO lists and Google Tasks","archived":false,"fork":false,"pushed_at":"2022-04-30T16:05:04.000Z","size":95,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-03-12T06:03:08.524Z","etag":null,"topics":["emacs","google-tasks","org-mode","syncronization"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ychubachi.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-12T00:28:05.000Z","updated_at":"2022-04-01T10:46:47.000Z","dependencies_parsed_at":"2022-08-10T00:00:29.766Z","dependency_job_id":null,"html_url":"https://github.com/ychubachi/org-sync-gtasks","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ychubachi%2Forg-sync-gtasks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ychubachi%2Forg-sync-gtasks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ychubachi%2Forg-sync-gtasks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ychubachi%2Forg-sync-gtasks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ychubachi","download_url":"https://codeload.github.com/ychubachi/org-sync-gtasks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221175738,"owners_count":16769876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs","google-tasks","org-mode","syncronization"],"created_at":"2024-07-29T17:53:56.123Z","updated_at":"2024-10-23T08:31:06.368Z","avatar_url":"https://github.com/ychubachi.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"[[https://coveralls.io/github/ychubachi/org-sync-gtasks][https://coveralls.io/repos/github/ychubachi/org-sync-gtasks/badge.svg?branch=main]]\n\n* Org Sync GTasks\nSynchronize Org TODO lists and Google Tasks.\n\n* Usage\nThis package provides two entriy points.\n\n1. =org-sync-gtasks-at-point=\n2. =org-sync-gtasks-agenda=\n3. =org-sync-gtasks-unsync-at-point=\n\nMove your cursor to an Org TODO headline and =M-x org-sync-gtasks-at-point=.\nThen a new task is inserted to your default Google Tasks tasklist.  Several\nproperties of a Google Tasks task will be added to the headline.  The GTASKS-ID\nproperty is the most important property which enables this command to determin\nthe headline is already synchronized to the Google Tasks item.\n\nIf you edit the task on Google Tasks side, using this command again will pull\nthe changes to your Org TODO headline.  Or if you edit the Org TODO headline and\nuse this command, the Google Tasks task will be updated.\n\n=M-x org-sync-gtasks-agenda= applies the =org-sync-gtasks-at-point= command to\nall your TODO headlines with the GTASKS-ID property in the Org agenda files.\nPlus, the new tasks in Google Tasks which are not in Org agend files are\ninserted as Org headlines at the current cursor position.\n\n=M-x org-sync-gtasks-unsync-at-point= removes the task from Google Tasks and\nclears all Google Tasks properties such as GTASKS-ID.\n\n* Configration\n\nObtain your credential file in JSON format from Google Developres Console.\nDon't forget to give Google Tasks access permitions to it.  Put your JSON file\nto =~/.gtasks_client_secret.json=.  You can change this path by customizing\n=org-sync-gtasks-client-secret-json= variable.\n\nThe access token is stored in =~/.emacs.d/oauth2.plstore= and encrypted by GnuPG.\nIf you want to enter the pass phrase in Emacs mini-buffer, set\n=epg-pinentry-mode= variable to =loopback=.\n\n#+begin_src emacs-lisp\n  (setq epg-pinentry-mode 'loopback)\n#+end_src\n\nThis allows the GPG passphrase to be cached during the Emacs session.\n\n#+begin_src emacs-lisp\n  (setq plstore-cache-passphrase-for-symmetric-encryption t)\n#+end_src\n\n* Installation\n\nIf you use [[https://github.com/raxod502/straight.el][straight.el]],\n\n#+begin_src emacs-lisp\n  (straight-use-package '(org-sync-gtasks :type git :host github\n                                          :repo \"ychubachi/org-sync-gtasks\"))\n#+end_src\n\nIf you use [[https://github.com/conao3/leaf.el][leaf.el]] with straight,\n\n#+begin_src emacs-lisp\n  (leaf org-sync-gtasks\n    :straight (org-sync-gtasks :type git :host github\n                          :repo \"ychubachi/org-sync-gtasks\"))\n#+end_src\n\n* Limitations\n- This command can handle only your default tasklist of Google Tasks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fychubachi%2Forg-sync-gtasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fychubachi%2Forg-sync-gtasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fychubachi%2Forg-sync-gtasks/lists"}