All Projects → misohena → gcal

misohena / gcal

Licence: other
Google Calendar Utilities for Emacs

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to gcal

org-table-sticky-header
Sticky header for org-mode tables
Stars: ✭ 31 (+158.33%)
Mutual labels:  org-mode
ob-elixir
org-babel functions for elixir evaluation
Stars: ✭ 24 (+100%)
Mutual labels:  org-mode
org-roam-ui
A graphical frontend for exploring your org-roam Zettelkasten
Stars: ✭ 1,393 (+11508.33%)
Mutual labels:  org-mode
uniorg
An accurate Org-mode parser
Stars: ✭ 190 (+1483.33%)
Mutual labels:  org-mode
org-gantt
Gantt chart for emacs org-mode
Stars: ✭ 55 (+358.33%)
Mutual labels:  org-mode
org-sync-snippets
Simple extension to export snippets to org-mode and vice versa
Stars: ✭ 14 (+16.67%)
Mutual labels:  org-mode
this-month-in-org
A monthly blog on developments with Org
Stars: ✭ 40 (+233.33%)
Mutual labels:  org-mode
org-outer-indent
An outer indentation org mode
Stars: ✭ 25 (+108.33%)
Mutual labels:  org-mode
ox-ssh
SSH config export for org-mode
Stars: ✭ 33 (+175%)
Mutual labels:  org-mode
finito.el
📚 Manage books with Emacs 📚
Stars: ✭ 34 (+183.33%)
Mutual labels:  org-mode
idle-org-agenda
A package that shows your agenda when Emacs is idle
Stars: ✭ 40 (+233.33%)
Mutual labels:  org-mode
nast
A block-based intermediate representation for document-like content.
Stars: ✭ 35 (+191.67%)
Mutual labels:  org-mode
yeonghoey
A personal knowledge base
Stars: ✭ 13 (+8.33%)
Mutual labels:  org-mode
eva
Emacs-based Virtual Assistant
Stars: ✭ 133 (+1008.33%)
Mutual labels:  org-mode
org-rich-yank
📋 Rich text clipboard for org-mode: Paste as a #+BEGIN_SRC block of correct mode, with link to where it came from
Stars: ✭ 59 (+391.67%)
Mutual labels:  org-mode
agenda
Org agenda in the console
Stars: ✭ 112 (+833.33%)
Mutual labels:  org-mode
PKMigrator
Tools to migrate between various Personal Knowledge Management Utilities
Stars: ✭ 36 (+200%)
Mutual labels:  org-mode
org-hexo
[DEPRECATE] Convert your org-mode blog to hexo markdown file
Stars: ✭ 20 (+66.67%)
Mutual labels:  org-mode
OrgMode.jl
A Julia library for working with Org.
Stars: ✭ 52 (+333.33%)
Mutual labels:  org-mode
nroam
Org-roam backlinks within org-mode buffers
Stars: ✭ 106 (+783.33%)
Mutual labels:  org-mode

Google Calendar Utilities for Emacs

gcal.el

Settings:

;; Get from Google Developer Console
(setq gcal-client-id "xxxxxxxxx.apps.googleusercontent.com")
(setq gcal-client-secret "xxxx-XxxxXxxXXXxx") ;;API-KEY

Usege:

(require 'gcal)

;; list my calendars
(gcal-calendar-list-list) ;; Calendar List

;; list events
(gcal-events-list
 "[email protected]" ;;<- calendar-id
  `((timeMin . ,(gcal-datetime 2016 5 1))
    (timeMax . ,(gcal-datetime 2016 6 1))))

;; insert event
(gcal-events-insert
 "[email protected]"
 `((start . ,(gcal-gtime 2016 5 27))
   (end . ,(gcal-gtime 2016 5 28))
  (summary . "My Special Holiday")))

;; delete event
(gcal-events-delete "[email protected]" "{event id}")

gcal-org.el

Usage:

(require 'gcal-org)

;; Org to Google Calendar
(gcal-org-push-file "[email protected]" "~/my-schedule.org") ;;use global cache file(~/.emacs.d/.gcal-org-pushed-events)

(gcal-org-push-file "[email protected]" "~/my-schedule.org" "~/my-schedule.gcal-cache")

Parse org & Upload

;; Org to oevent(org-mode event)
(gcal-org-parse-buffer) ;; Parse current buffer. Return a list of gcal-org-event object(including properties :id, :ord, :summary, :location, :ts-start, :ts-end, :ts-prefx, ...).

(gcal-org-parse-file "~/my-schedule.org") ;; Parse specified org file.

;; Upload oevents to Google Calendar
(gcal-org-push-oevents
  "[email protected]"
  (gcal-org-parse-file "~/my-schedule.org")
  nil)

;; Upload oevents to Google Calendar (delta)
(gcal-org-push-oevents
  "[email protected]"
  (gcal-org-parse-file "~/my-schedule.org")
  (gcal-org-parse-file "~/my-schedule.org.old"))

;; Delete events from Google Calendar
(gcal-org-push-oevents
  "[email protected]"
  nil
  (gcal-org-parse-file "~/my-schedule.org"))

Download

;; Download oevents from Goole Calendar
(gcal-org-pull-oevents
 "[email protected]"
 `((timeMin . ,(gcal-time-format (current-time) nil)))) ;;after current time

Documents

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].