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
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.
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.
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.
import { openNotebook } from 'protocol-launcher/upnote'
const url = openNotebook({
notebookId: 'REPLACE_WITH_NOTEBOOK_ID',
})New Notebook
Create a notebook with a title.
import { newNotebook } from 'protocol-launcher/upnote'
const url = newNotebook({
title: 'Projects',
})View Tag
View notes in a tag by tag title.
import { viewTag } from 'protocol-launcher/upnote'
const url = viewTag({
tag: 'project',
})Open Filter
View notes in a filter by filterId.
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.
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',
})