Skip to content

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

On-Demand
ts
import { createFormattedNote } from 'protocol-launcher/devonthink'

const url = createFormattedNote({
  title: 'New Note',
  source: '<p>Hello</p>',
})

Create HTML

On-Demand
ts
import { createHTML } from 'protocol-launcher/devonthink'

const url = createHTML({
  title: 'Page',
  source: '<h1>Hello</h1>',
})

Create Markdown

On-Demand
ts
import { createMarkdown } from 'protocol-launcher/devonthink'

const url = createMarkdown({
  title: 'Readme',
  text: '# Hello',
})

Create PDF

On-Demand
ts
import { createPDF } from 'protocol-launcher/devonthink'

const url = createPDF({
  location: 'https://www.devontechnologies.com',
  width: 800,
  paginated: 1,
})

Create RTF

On-Demand
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

On-Demand
ts
import { createWebArchive } from 'protocol-launcher/devonthink'

const url = createWebArchive({
  title: 'DEVONtechnologies',
  location: 'https://www.devontechnologies.com',
})

Create Bookmark

On-Demand
ts
import { createBookmark } from 'protocol-launcher/devonthink'

const url = createBookmark({
  title: 'DEVONtechnologies',
  location: 'https://www.devontechnologies.com',
})

Create Group

On-Demand
ts
import { createGroup } from 'protocol-launcher/devonthink'

const url = createGroup({
  title: 'Inbox',
  destination: 'F8E2A5A6-0000-0000-0000-000000000000',
})

Create Text

On-Demand
ts
import { createText } from 'protocol-launcher/devonthink'

const url = createText({
  title: 'Plain Note',
  text: 'Hello World',
})

Clip

Open the Clip to DEVONthink panel.

On-Demand
ts
import { clip } from 'protocol-launcher/devonthink'

const url = clip()

Note

Open the Take Note panel.

On-Demand
ts
import { note } from 'protocol-launcher/devonthink'

const url = note()

Initiate a search in open DEVONthink databases.

On-Demand
ts
import { search } from 'protocol-launcher/devonthink'

const url = search({
  query: 'invoice',
})

DEVONthink item links use the x-devonthink-item://<uuid> scheme. They point to existing DEVONthink databases, groups, documents, or specific locations inside supported documents.

On-Demand
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,
})

Official References