If this plugin helps you, I'd really appreciate your support. You can buy me a coffee here.
A plugin that allows you to import calendar events from GCal, iCloud, Outlook and web based subscriptions in the iCal format. This appends all of the events scheduled for the current day to that days daily note page.
- Three ways to import events
- Use the command pallet via
mod+shift+p
and select a specific calendar to import - Use the keyboard shortcut you defined in the settings to import that specific calendar
- Click the icon in the toolbar to import all calendars to daily note page
- Use the command pallet via
- Get the ics link from each calendar provider using the below steps
- In Logseq, navigate to the entry in the plugins list for "Logseq Calendar Plugins
- Click the gear and then "Open Settings"
- In settings, enter the following:
{
"disabled": false,
"template": "{Start} - {End}: {Title}",
"templateLine2": "{Description}",
"accounts": {
"Google Calendar": [
"https://calendar.google.com/calendar/ical/rao6fvrrsq6mdorf9n30fs6mk4%40group.calendar.google.com/private-18ccd424400ef24c5d343ec93b289590/basic.ics"
],
"iCloud": [
"https://p54-caldav.icloud.com/published/2/MTcyOTMzMjIwNTAxNzI5M-ibrzX3UhprTcakzWiFfAyvzHuJSIuassVxcCUrtpJD"
]
},
"timeFormat": 12
}
Disabled
is required and is defined by logseq itself, you don't need to do anything heretemplate
is the text that will go on the parent block(more on the syntax below)- Underneath the block titled the calendar name, you will see blocks in this format
Templateline
is a block indented aftertemplate
- accounts are defined in the format
"AccountName": ["urlFromNextStep", "desired keyboard shortcut"], "SecondAccountName": ["icsURL"],
- You can add more than 2 accounts and can name the account whatever
- Time format can be between 12 and 24. The choice is regarding whether you want 24 hours time(19:00) or 12 hour time. (7:00 pm)
- In the website, go to your calendar
- Go to the settings for the specific calendar you want
- Get your secret address
- This is the link you need
- Make calendar public
- Right click the calendar again and click share publish link.
- This should bring you to an email with a link in the body.
- The link will be in the format webcal://p54-caldav.icloud.com/published/2/xjshdkljshvkjsldhsdkhsdkj
- Remove the
webcal://
from the beginning - Take the link as
p54-caldav.icloud.com/published/2/xjshdkljshvkjsldhsdkhsdkj
- This is the link you need
- Go to the calendar on the side bar, hit the three dots and click share. When prompted enter another one of your email addresses.
- Give them permission to view all details
- Open the email you would've received.
- At the bottom of the email, there will be a response in this form
- Copy the link that the text
this link
points to. - This is the linkk you need
- to set custom templates, you can use the following placeholders
{Description}
{title}
{start}
{end}
{date}
- Templates are the format by which the events are inserted
- You can define templates in settings
- Difference between
template
andtemplateline2
- Calendar icons created by Freepik - Flaticon
- Credits to @hkgnp for his logseq-dateutil library
- Credits to https://github.com/jens-maus/node-ical