GoodLinks
GoodLinks is a read-it-later app for saving and reading links. Protocol Launcher allows you to generate GoodLinks x-callback-url actions exactly from the official URL scheme: save, open, pick, last, random, unread, starred, untagged, read, and tag.
GoodLinks supports x-success, x-error, and x-cancel callback URLs. Pass them as xSuccess, xError, and xCancel when needed.
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.
Save Link
ts
import { save } from 'protocol-launcher/goodlinks'
const url = save({
url: 'https://apple.com',
starred: '1',
tags: 'apple ios',
})Open Link
ts
import { open } from 'protocol-launcher/goodlinks'
const url = open({
url: 'https://example.com/article',
})Pick Link Details
ts
import { pick } from 'protocol-launcher/goodlinks'
const url = pick({
urlParam: 'link',
titleParam: 'name',
summaryParam: 'description',
})Open Last Unread Link
ts
import { last } from 'protocol-launcher/goodlinks'
const url = last()Open Random Unread Link
ts
import { random } from 'protocol-launcher/goodlinks'
const url = random()Show Unread List
ts
import { unread } from 'protocol-launcher/goodlinks'
const url = unread()Show Starred List
ts
import { starred } from 'protocol-launcher/goodlinks'
const url = starred()Show Untagged List
ts
import { untagged } from 'protocol-launcher/goodlinks'
const url = untagged()Show Read List
ts
import { read } from 'protocol-launcher/goodlinks'
const url = read()Show Tagged Links
ts
import { tag } from 'protocol-launcher/goodlinks'
const url = tag({
name: 'apple',
})