Timepage
Timepage is a calendar app for managing schedules, events, and weather. Protocol Launcher allows you to generate official Timepage URL scheme links.
Usage
There are two ways to use this library:
- On-Demand import from subpaths enables tree-shaking and keeps bundles small.
- Full Import from the root package is convenient but includes all app modules.
Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.
Select Installation Method
On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.
Open Timepage
ts
import { open } from 'protocol-launcher/timepage'
const url = open()Add Event
ts
import { addEvent } from 'protocol-launcher/timepage'
const url = addEvent({
title: 'Team Sync',
day: 'today',
})Use x-success or x-cancel only when you want Timepage's documented x-callback-url form:
ts
import { addEvent } from 'protocol-launcher/timepage'
const url = addEvent({
title: 'Team Sync',
day: 'tomorrow',
xSuccess: 'shortcuts://callback',
xCancel: 'shortcuts://cancel',
})Open Event
ts
import { openEvent } from 'protocol-launcher/timepage'
const url = openEvent({
event: 'next',
})Open Event Map
ts
import { openEventMap } from 'protocol-launcher/timepage'
const url = openEventMap({
event: 'next',
})Open Day
ts
import { openDay } from 'protocol-launcher/timepage'
const url = openDay({
day: '2026-03-30',
})Open Week
ts
import { openWeek } from 'protocol-launcher/timepage'
const url = openWeek({
week: 'this',
})Numeric offsets are also supported by the official index parameter:
ts
import { openWeek } from 'protocol-launcher/timepage'
const url = openWeek({
week: -1,
})Open Month
ts
import { openMonth } from 'protocol-launcher/timepage'
const url = openMonth({
month: 'next',
})Open Weather
ts
import { openWeather } from 'protocol-launcher/timepage'
const url = openWeather({
day: 'today',
})ts
import { openWeather } from 'protocol-launcher/timepage'
const url = openWeather({
week: 'next',
})Search
ts
import { search } from 'protocol-launcher/timepage'
const url = search({
query: 'project review',
})Get Event
ts
import { getEvent } from 'protocol-launcher/timepage'
const url = getEvent({
event: 'next',
xSuccess: 'shortcuts://callback',
})Timepage calls the x-success callback with start, end, title, and location parameters.