Skip to content

UpNote ​

UpNote is a note-taking app for writing and organizing notes. Protocol Launcher allows you to generate links for opening notes, notebooks, tags, filters, and views, and creating notes and notebooks in UpNote.

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.

UpNote documents upnote://x-callback-url/<action> endpoints for opening notes, creating notes and notebooks, viewing notebooks, viewing tags, opening filters, and dynamic views.

Open Note ​

Open a note with noteId and new_window.

On-Demand
ts
import { openNote } from 'protocol-launcher/upnote'

const url = openNote({
  noteId: 'REPLACE_WITH_NOTE_ID',
  newWindow: false,
})

New Note ​

Create a note with title, text, notebook, new_window, and markdown.

On-Demand
ts
import { newNote } from 'protocol-launcher/upnote'

const url = newNote({
  title: 'Daily Plan',
  text: '# Today',
  notebook: 'Work',
  newWindow: true,
  markdown: true,
})

Open Notebook ​

View notes in a notebook by notebookId.

On-Demand
ts
import { openNotebook } from 'protocol-launcher/upnote'

const url = openNotebook({
  notebookId: 'REPLACE_WITH_NOTEBOOK_ID',
})

New Notebook ​

Create a notebook with a title.

On-Demand
ts
import { newNotebook } from 'protocol-launcher/upnote'

const url = newNotebook({
  title: 'Projects',
})

View Tag ​

View notes in a tag by tag title.

On-Demand
ts
import { viewTag } from 'protocol-launcher/upnote'

const url = viewTag({
  tag: 'project',
})

Open Filter ​

View notes in a filter by filterId.

On-Demand
ts
import { openFilter } from 'protocol-launcher/upnote'

const url = openFilter({
  filterId: 'REPLACE_WITH_FILTER_ID',
})

Dynamic View ​

Use the documented view endpoint with mode, noteId, notebookId, tagId, filterId, spaceId, action, and query. UpNote documents spaceId as a unique space id or default; notebooks, tags, and filters modes require their matching ids.

On-Demand
ts
import { view } from 'protocol-launcher/upnote'

const url = view({
  mode: 'all_notes',
})

const notebookUrl = view({
  mode: 'notebooks',
  notebookId: 'REPLACE_WITH_NOTEBOOK_ID',
  spaceId: 'default',
})

const searchUrl = view({
  action: 'search',
  query: 'meeting notes',
})

Official Documentation ​