DEVONthink
DEVONthink is a document and information manager for macOS. Protocol Launcher generates both DEVONthink URL commands (x-devonthink://) and DEVONthink item links (x-devonthink-item://) from the official DEVONthink Help references.
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.
URL Commands
DEVONthink URL commands use the x-devonthink://<command> scheme. They are commands, not x-callback-url links.
Create Formatted Note
ts
import { createFormattedNote } from 'protocol-launcher/devonthink'
const url = createFormattedNote({
title: 'New Note',
source: '<p>Hello</p>',
})Create HTML
ts
import { createHTML } from 'protocol-launcher/devonthink'
const url = createHTML({
title: 'Page',
source: '<h1>Hello</h1>',
})Create Markdown
ts
import { createMarkdown } from 'protocol-launcher/devonthink'
const url = createMarkdown({
title: 'Readme',
text: '# Hello',
})Create PDF
ts
import { createPDF } from 'protocol-launcher/devonthink'
const url = createPDF({
location: 'https://www.devontechnologies.com',
width: 800,
paginated: 1,
})Create RTF
ts
import { createRTF } from 'protocol-launcher/devonthink'
const url = createRTF({
title: 'New bookmark',
location: 'http://www.devontechnologies.com',
noselector: 1,
})
const url = createRTF({
title: 'Selection',
selection: 'Selected text',
})Create Web Archive
ts
import { createWebArchive } from 'protocol-launcher/devonthink'
const url = createWebArchive({
title: 'DEVONtechnologies',
location: 'https://www.devontechnologies.com',
})Create Bookmark
ts
import { createBookmark } from 'protocol-launcher/devonthink'
const url = createBookmark({
title: 'DEVONtechnologies',
location: 'https://www.devontechnologies.com',
})Create Group
ts
import { createGroup } from 'protocol-launcher/devonthink'
const url = createGroup({
title: 'Inbox',
destination: 'F8E2A5A6-0000-0000-0000-000000000000',
})Create Text
ts
import { createText } from 'protocol-launcher/devonthink'
const url = createText({
title: 'Plain Note',
text: 'Hello World',
})Clip
Open the Clip to DEVONthink panel.
ts
import { clip } from 'protocol-launcher/devonthink'
const url = clip()Note
Open the Take Note panel.
ts
import { note } from 'protocol-launcher/devonthink'
const url = note()Search
Initiate a search in open DEVONthink databases.
ts
import { search } from 'protocol-launcher/devonthink'
const url = search({
query: 'invoice',
})Item Links
DEVONthink item links use the x-devonthink-item://<uuid> scheme. They point to existing DEVONthink databases, groups, documents, or specific locations inside supported documents.
Item Link
ts
import { itemLink } from 'protocol-launcher/devonthink'
const url = itemLink({
uuid: '929D101B-35AC-474C-801C-D8818C48DB80',
reveal: 1,
})
const url = itemLink({
uuid: 'PDF-ID',
page: 5,
})
const url = itemLink({
uuid: 'TEXT-FILE-ID',
search: 'iPad Pro',
})
const url = itemLink({
uuid: 'MOVIE-ID',
time: 43.5,
})
const url = itemLink({
uuid: '929D101B-35AC-474C-801C-D8818C48DB80',
line: 125,
})