• Stars
    star
    290
  • Rank 142,981 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📅 Calendar link generator for popular services

📅 Calendar Link

Status
Build Node CI Dependencies GitHub release (latest by date) Snyk Vulnerabilities for GitHub Repo
Health License Coverage Pull Request Labeler
Community NPM type definitions NPM All contributors

JavaScript library to generate an event link for Google Calendar, Yahoo! Calendar, Microsoft Outlook, etc.

NPM

Usage

// Usage with Node.js
const { google, outlook, office365, yahoo, ics } = require("calendar-link");

// Usage with TypeScript or ES6
import { google, outlook, office365, yahoo, ics } from "calendar-link";

// Set event as an object
const event = {
  title: "My birthday party",
  description: "Be there!",
  start: "2019-12-29 18:00:00 +0100",
  duration: [3, "hour"],
};

// Then fetch the link
google(event); // https://calendar.google.com/calendar/render...
outlook(event); // https://outlook.live.com/owa/...
office365(event); // https://outlook.office.com/owa/...
yahoo(event); // https://calendar.yahoo.com/?v=60&title=...
ics(event); // standard ICS file based on https://icalendar.org

Options

Property Description Allowed values
title (required) Event title String
start (required) Start time JS Date / ISO 8601 string / Unix Timestamp
end End time JS Date / ISO 8601 string / Unix Timestamp
duration Event duration Array with value (Number) and unit (String)
allDay All day event Boolean
rRule Recurring event iCal recurrence rule string
NOTE: Only supported by google and ics
description Information about the event String
location Event location in words String
busy Mark on calendar as busy? Boolean
guests Emails of other guests Array of emails (String)
url Calendar document URL String

Notes

  • Any one of the fields end, duration, or allDay is required.
  • The allowed units in duration are listed here: https://day.js.org/docs/en/durations/creating#list-of-all-available-units.
  • The url field defaults to document.URL if a global document object exists. For server-side rendering, you should supply the url manually. Not all calendars support the guests and url fields.
  • If you don't pass the start and end time in UTC, Google will convert it to UTC but Outlook won't, so it's a good idea to use UTC when passing dates and times

License

MIT © Anand Chowdhary

More Repositories

1

hovercard

🖱️ Wikipedia summary cards for the web
TypeScript
87
star
2

hello-bar

👋 Greet your visitors with a hello bar
JavaScript
71
star
3

bookshelf-action

📚 Track your reading using GitHub Actions
TypeScript
62
star
4

remix-starter

💿 Starter for @remix-run with localized routing and i18n
TypeScript
55
star
5

language-icons

🈹 Better icons for languages, because flags just don't cut it
TypeScript
46
star
6

books

📚 Tracking the books I'm reading these days
45
star
7

okrs

🧭 My personal Objectives and Key Results (OKRs), tracked on GitHub
JSON
39
star
8

docs-markdown

📝 Convert a Google Docs file (API response) to Markdown
TypeScript
35
star
9

update-template

📠 Easily update repos created with GitHub templates
TypeScript
33
star
10

services

🔧 Node.js serverless microservices for automating things
TypeScript
29
star
11

auto-i18n

🌐 Automatically translate your JSON I18N files
TypeScript
23
star
12

dependabot-pr-action

📦 Label, approve, and merge Dependabot pull requests automatically
TypeScript
20
star
13

sharer.link

🔗 Share links for songs, places, podcasts, and more
Vue
20
star
14

readme-repos-list

🖇️ GitHub Action to list repositories in a README
TypeScript
17
star
15

anandchowdhary.com

🌐 Anand Chowdhary's personal website, blog, and portfolio
TypeScript
16
star
16

calendar-slots

🗓️ Find empty appointment slots in a user's calendar
TypeScript
16
star
17

hackerbadge

📛 Embeddable badges for Hacker News posts/launches
TypeScript
15
star
18

gitwriter

📝 Version control your thoughts
Vue
14
star
19

life-data

📈 All data from my life — location, health, work, play, and more — open sourced
JavaScript
14
star
20

fraud

🗄 File-based key-JSON database with nodecache
TypeScript
13
star
21

scrub

🧹 Track JS errors and send them to your backend
TypeScript
11
star
22

add-to-calendar

Send calendar invitations
Vue
11
star
23

notes-summary

🗒️ Generate a README.md summary & JSON API from your markdown repository
TypeScript
10
star
24

location

📍 Tracking my location in real time
TypeScript
10
star
25

twitter-list-sync

🐦 Sync your Twitter followers/following to Lists
TypeScript
10
star
26

undrawcdn

A CDN/API service for Undraw, the MIT-licensed illustrations by Katerina Limpitsouni
JavaScript
10
star
27

life

🧬 All life data — location, health, work, play, and more — open sourced
10
star
28

archiver

🗄️ Auto-archive your webpages on the Internet Archive
TypeScript
9
star
29

rhythmsaga-api

RhythmSaga is an open-source API for everything music.
PHP
9
star
30

accessibilityguidelines.com

♿ Universal accessibility guidelines for the web
8
star
31

edumail

🎓 Identify educational emails for academic discounts
TypeScript
8
star
32

nord.js

⚡️ Fast and familiar TypeScript backend framework for Bun, Node.js, and Deno
TypeScript
8
star
33

puppet

🎭 Natural language web automation with Puppeteer
TypeScript
8
star
34

feeedback

🙋 Collect feedback from your users on the web
TypeScript
8
star
35

photomonster

📷 [WIP] Easily backup your photos to the cloud
JavaScript
7
star
36

twt

🤏 Tiny Web Tokens (TWT) are like like JWTs but tiny
TypeScript
7
star
37

prefers-color-scheme

🎨 Get a user's preferred color scheme using CSS @​media(prefers-color-scheme)
TypeScript
7
star
38

birthday-reminders-action

🎁 Daily messages for birthday reminders using GitHub Actions
JavaScript
7
star
39

yoga

🧘 iOS app to send data from HealthKit to webhook
Objective-C
7
star
40

events-summary

🗓 Generate a README.md summary for your events repository
TypeScript
6
star
41

deploy-pr-action

🚀🎬 GitHub Action to deploy every pull request to a static URL on Surge.sh
TypeScript
6
star
42

a11yisimportant

🐦 Twitter bot for @a11yisimportant × #a11y
TypeScript
6
star
43

deliverabilityguide.com

📧 Never end in spam with the world's most comprehensive email deliverability checklist
TypeScript
6
star
44

changebar

🔔 Changelog notifications widget for the web, powered by GitHub
TypeScript
6
star
45

readme

✏️ Anand Chowdhary's README — a guide on how to work with me
Markdown
5
star
46

header-comments

📑 GitHub Action to add header comments to all your files
TypeScript
5
star
47

errol

🦉 Errol delivers your notifications wherever you want them
TypeScript
5
star
48

featured

✨ A list of @AnandChowdhary's featured open source projects
JSON
4
star
49

status

📈 Uptime monitor and status page for @AnandChowdhary
Markdown
4
star
50

run-url

🏃 Run a Node.js file from a URL, easily "npx run-url"
JavaScript
4
star
51

openwind

🎨 Open-source Tailwind.css interface elements and pages
HTML
4
star
52

everything

⏳ Everything Everywhere All at Once
JSON
4
star
53

NewsHaikusBot

🤖 Twitter bot which tweets news in haikus using GPT-3
TypeScript
4
star
54

color-labels-action

🏷🌈 GitHub Action to add some color to issue labels
TypeScript
4
star
55

themes

🌈 My yearly themes
Markdown
4
star
56

embed-widget

🗃 Embeddable widgets for your website
TypeScript
4
star
57

firebase-github-backup

🔥🗄️ Encrypted backups of your Firebase database in a GitHub repo
TypeScript
4
star
58

vuecam

HTML5 webcam component for Vue.js
Vue
3
star
59

books-to-read

List of books I want to read
3
star
60

show-hide

👁️ Simply fade to show or hide DOM elements (<1 kb)
TypeScript
3
star
61

carpent

🔨 Bootstrap and configure any project using its template
TypeScript
3
star
62

gitwords

🔐 GitHub-powered secure writing platform, deployed on ZEIT
TypeScript
3
star
63

backlog

🔙 Backlog of issues and bugs on my GitHub
TypeScript
3
star
64

words

Words doesn't come in the way of you and your thoughts
PHP
3
star
65

prefers-reduced-motion

🙅 Check if a user prefers reduced motion using CSS
TypeScript
3
star
66

status-sync

🔴 Set and sync your real-time status on Slack & GitHub
TypeScript
3
star
67

browser-extension

🌐 Opinionated starter for a web browser extension with TypeScript
TypeScript
3
star
68

prisma-class-validator

💎 Generate class-validator types from a Prisma project
TypeScript
3
star
69

live

🔴 API to track my metrics in real time
TypeScript
3
star
70

datavis

📊 Data visualization project
CSS
3
star
71

truncate-sentences

🤏 Truncate a paragraph to sentences with a max length
TypeScript
2
star
72

wikibility

A beautiful, more legible, and accessible Wikipedia
JavaScript
2
star
73

keeep

Password manager and text encoder
C++
2
star
74

dai11y.com

♿ Daily accessibility audits for your site
Vue
2
star
75

anand-services

Cron jobs and services I run
JavaScript
2
star
76

citepls

🧠 Unlimited free citation generator with APA, MLA, Chicago, and custom formats
TypeScript
2
star
77

accessible-web-components

HTML
2
star
78

events

🗓 List of my speaking engagements and startup events
Markdown
2
star
79

sponsor-them

💝 Suggested users to sponsor on GitHub based on your repos
TypeScript
2
star
80

rescuetime-slack

⏰ Share your daily productivity score from RescueTime on Slack
TypeScript
2
star
81

.github

🔧 Default default community health files for my GitHub projects
2
star
82

essential.css

A single CSS file to design beautiful webpages
HTML
2
star
83

followers-tracker

:octocat: Tracking my GitHub followers using Slack
JavaScript
2
star
84

node.ts

🏷️ Opinionated TypeScript starter for server-side Node.js libraries
TypeScript
2
star
85

typestart

📦 Typescript DOM library starter template
TypeScript
2
star
86

analytics-icons

📈 Icons for browsers, OSes, devices, flags, and more
TypeScript
2
star
87

unqueue

📏 Simple, zero-config, in-memory queue for async JS tasks
TypeScript
2
star
88

release-scheduler

🚂 Schedule a weekly or monthly Semantic Release
TypeScript
2
star
89

health

🫀 @AnandChowdhary's body measurements
JavaScript
2
star
90

render-deployment-status-action

Add pull request deployment statuses for Render.com
TypeScript
2
star
91

gpt-search

Get any question answered. A knowledge search engine powered by Google Search and GPT-4, similar to Bing Chat or You.
TypeScript
2
star
92

addmefast-imacros

iMacros script for getting Addmefast points using your Instagram account
2
star
93

delete-merged-action

🗑️🎬 GitHub Action to delete merged branches (highly configurable)
TypeScript
2
star
94

abendgebet

A game based on the painting Abendgebet by Milan Kunc
Processing
2
star
95

open-source-friday

📈 Uptime monitor and status page for Anand Chowdhary, powered by @upptime
Markdown
2
star
96

reverse-proxy

⏪ Reverse proxy for Nginx + Docker with script injection
Shell
1
star
97

drumpad

Ardunio-based music generator
Processing
1
star
98

sapper-i18n-sync

Utilities for localized URLs in Sapper with built-in i18n support
TypeScript
1
star
99

firebase-slack

🔥🔔 Send a notification on Slack when there's a new Firebase record
TypeScript
1
star
100

555-lazy-load

A super tiny JavaScript library for lazy loading (555 byes)
HTML
1
star