Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed regexp that led duplication of property drawers, timestamps and some events #122

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
43e3017
Allow the insert of headers to org-gcal files
Aug 18, 2016
734b9db
Show "busy" for private events
aaronjensen Feb 16, 2017
b9dcddc
replace description lines that begin with '*' with '✱'
Mar 10, 2017
bcc478e
Fix org-gcal-file-alist customize.
Dec 13, 2017
3b92465
Add flag to hide alert messages
rollacaster Jan 21, 2018
bffcf9b
Update label from the Google interface
kidd Feb 27, 2018
a433c38
Ensure encoding of JSON post data to UTF-8.
t-suwa Mar 13, 2018
a075649
Merge branch 'pr60'
May 22, 2018
0fdeacf
Merge branch 'pr83'
May 22, 2018
7596d9d
Merge branch 'pr101'
May 22, 2018
ae82c94
Merge branch 'pr103'
May 22, 2018
698041b
Merge branch 'pr108'
May 22, 2018
7ad5494
remove trailing whitespace
kidd Jun 18, 2018
506068e
Update lablels and addresses for getting the oauth tokens
kidd Jul 15, 2018
5c246bc
protect kill-ring
kidd Jun 18, 2018
1242251
Merge pull request #1 from kidd/update-label
kidd Jul 15, 2018
370976c
Merge pull request #2 from kidd/avoid-kill-ring-messup
kidd Jul 15, 2018
3e4eb06
Merge remote-tracking branch 'aaronjensen/patch-2'
kidd Jul 15, 2018
d3b7923
fix indentation
kidd Jul 15, 2018
ebbc029
Reuse emacs' logo for notifications
kidd Jul 15, 2018
0dad13c
Merge pull request #4 from kidd/simplify-notify-logo
kidd Jul 15, 2018
da125d2
doc upkeep for myuhe PRs merged in (others include myuhe 80,101,103,108)
Jul 16, 2018
aec43cf
typo
Jul 16, 2018
3101afc
Further upkeep
Jul 16, 2018
0b52ca2
pr108
Jul 16, 2018
19a83a9
Merge pull request #7 from bobberb/doc
kidd Jul 16, 2018
fb4231c
Improve checkdoc linting
kidd Jul 18, 2018
dc5fecd
Support multiple calendar.
t-suwa Jul 20, 2018
e1ab12d
Merge pull request #9 from t-suwa/support-multiple-calendar
kidd Jul 20, 2018
fb4cce7
fix variable typo
kidd Jul 20, 2018
741c3c5
improved doc on multiple accounts
kidd Jul 20, 2018
9386417
remove unused variables
kidd Jul 20, 2018
37cf67a
Clarified parse error a bit.
kidd Jul 20, 2018
f1d0d3b
Merge pull request #12 from kidd/explicit-parsing-error
kidd Jul 20, 2018
059e0bc
Merge pull request #11 from kidd/some-linting
kidd Jul 20, 2018
35fa03d
add autoloads
kidd Jul 20, 2018
1594e0c
Merge pull request #13 from kidd/autoloads
kidd Jul 20, 2018
792cc80
bump version to 0.3
kidd Jul 20, 2018
4dd67bc
remove unused variables
kidd Jul 20, 2018
fcf98f9
cleanup unneeded concat
kidd Jul 22, 2018
1625c21
Use defcustom to define org-gcal-header-alist and add docstring
Jul 23, 2018
52e7dc9
Merge pull request #16 from telotortium/header-alist-doc
kidd Jul 23, 2018
332446f
Fix formatting and replace tabs with spaces
Jul 23, 2018
e93ed22
Merge pull request #15 from telotortium/formatting
kidd Jul 23, 2018
dcc652f
Fix some parens corrupted in e93ed22 (PR #16)
Jul 24, 2018
828662e
Merge pull request #17 from telotortium/format-fix
kidd Jul 24, 2018
c517108
Fix typo in readme
kidd Aug 20, 2018
6991488
Reword documentation
kidd Aug 21, 2018
62f97aa
Update org-gcal.el
itf Aug 25, 2018
8636d25
Merge pull request #19 from itf/patch-1
kidd Aug 27, 2018
6745888
Fix issue where multiline locations led to duplicate calendar entries
ifitzpat Oct 4, 2018
1978c44
Merge branch 'master' of github.com:ifitzpat/org-gcal.el
ifitzpat Oct 4, 2018
d1c2549
Merge pull request #21 from ifitzpat/master
kidd Oct 4, 2018
bcac769
Fixed regexp that led to double property drawers and timestamps
Dec 8, 2018
6ba09cc
Merged regexp fix for duplicate property drawers into kidd's fork
Dec 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 65 additions & 13 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
- Fetch google calendar event
- Post/edit org element
- Sync between Org and Gcal


Data will be UTF-8 encoded for sync.

* Requirements

- [[https://github.com/tkf/emacs-request][tkf/emacs-request]]
- [[https://github.com/jwiegley/alert][jwiegley/alert]]

=org-gcal= is now available in the famous emacs package repo [[http://melpa.milkbox.net/][MELPA]], so the recommended way is to install it through Emacs package management system.
=org-gcal= is now available in the famous emacs package repo [[http://melpa.milkbox.net/][MELPA]],
so the recommended way is to install it through Emacs package
management system.

* Installation

Expand All @@ -19,27 +23,40 @@

3. Click on the project

4. Click on *APIs & Auth* then *Credentials*
4. Click on *APIs & Services* then *Credentials*

5. Click on *Create New Client ID* with Application type /Installed application/, Installed application type /Other/
5. Click on *Create Credentials* and *Oauth client ID* with
Application type /Installed application/, Installed application
type /Other/

6. Click on *Create Client ID*

7. Record the Client ID and Client secret for setup.

8. Under the same *APIs & Auth* menu section, select *APIs*
8. Under the same *APIs & Services* menu section, select *Library*

9. Scroll down to *Calendar API*. Click the *Status* button to enable calendar API access to the app you created in steps 5 & 6.
9. Scroll down to *Calendar API*. Click the *Enable* button to enable
calendar API access to the app you created in steps 5 & 6.

Go to [[https://www.google.com/calendar/render][Google setting page]] to check the calendar ID.

10. Go to [[https://www.google.com/calendar/render][Google setting page]] and click the gear-shaped settings icon in the upper right, then select "Settings" from the drop down list.
10. Go to [[https://www.google.com/calendar/render][Google setting page]] and click the gear-shaped settings icon
in the upper right, then select "Settings" from the drop down
list.

11. Select the "Calendars" tab, which will display a list of your calendars.
11. Select the "Setting for my Calendars" tab on the left, which will
display a list of your calendars.

12. Select the calendar you would like to synchronize with. This will take you to the "Calendar Details" page for that calendar. Near the end is a section titled "Calendar Address". Following the XML, ICAL, and HTML tags, you will see your Calendar ID.
12. Select the calendar you would like to synchronize with. This will
take you to the "Calendar Settings" page for that calendar. Near
the end is a section titled "Integrate Calendar". Following the XML,
ICAL, and HTML tags, you will see your Calendar ID.

13. Copy the Calendar ID for use in the settings below, where you will use it as the first element in the org-gcal-file-alist for associating calendars with specific org files. You can associate different calendars with different org files, so repeat this for each calendar you want to use.
13. Copy the Calendar ID for use in the settings below, where you will
use it as the first element in the org-gcal-file-alist for
associating calendars with specific org files. You can associate
different calendars with different org files, so repeat this for
each calendar you want to use.

** Setting example

Expand All @@ -51,18 +68,53 @@
("[email protected]" . "~/task.org")))
#+end_src

** Multiple accounts

There's no support for multiple accounts. If you want to use
org-gcal with calendars from different accounts, you can give
permissions to the account you configured via the calendar's
settings interface.

To get more detailed information you can [[https://digibites.zendesk.com/hc/en-us/articles/200299863-How-do-I-share-my-calendar-with-someone-else-Google-Calendar-or-Outlook-com-][check this link]].

* Usage
** =org-gcal-sync=
Sync between Org and Gcal. before syncing, execute =org-gcal-fetch= .
** =org-gcal-fetch=
Fetch Google calendar events and populate =org-gcal-file-alist= locations. The org files in =org-gcal-file-alist= should be blank or all of their headlines should have timestamps.
Fetch Google calendar events and populate =org-gcal-file-alist=
locations. The org files in =org-gcal-file-alist= should be blank
or all of their headlines should have timestamps.
** =org-gcal-post-at-point=
Post/edit org block at point to Google calendar.
** =org-gcal-delete-at-point=
Delete Gcal event at point.
** =org-gcal-refresh-token=
Refresh the OAuth token. OAuth token expired in 3600 seconds, You should refresh token on a regular basis.
Refresh the OAuth token. OAuth token expired in 3600 seconds, You
should refresh token on a regular basis.

* Other features
** Minimize alerts

Modify =org-gcal-notify-p= from =t= to =nil=

** Headers in org-gcal files

Create variable org-gcal-header-alist

#+begin_src elisp
(setq org-gcal-header-alist '(("[email protected]" . "#+CATEGORY: personal\n")))
#+end_src

#+BEGIN_QUOTE
I often need to set headers in org-mode files to control categories, archive locations, and other local variables. This patch allows for the insertion of arbitary headers. It creates a single alist variable (org-gcal-header-alist) and if it exists for a given file it inserts it before writing the calendar items.
#+END_QUOTE

* Error
** I get "Org-gcal error: Couldn't parse your-cal.org"
The org file where you sync the calendar must have all entries with
timestamps and a particular format to be parsed correctly. When
synching for the first time, we recommend is to use a blank file
and continue from that.

* Similar application
[[https://github.com/dengste/org-caldav][dengste/org-caldav]]
Loading