Bike Outliner
Bike Outliner is an outliner app. Protocol Launcher allows you to generate Bike Outliner row links and path row links.
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
Notes
Bike Outliner's official documentation defines row links with the bike://<rootid>/<focusid>#<selectid> pattern. The focused row id and selected row id are optional. It also defines path row links in the bike:///path/to/file.bike#row form.
This module exposes only those documented link forms. Use openRowLink() when you already have a complete Bike Outliner link copied from Bike Outliner.
Open Row
Open Bike Outliner and select a row by using the document root id, optional focused row id, and optional selected row id.
import { openRow } from 'protocol-launcher/bike-outliner'
const url = openRow({
rootId: 'KOcw9x9N',
focusId: 'ch',
selectedId: 'zf',
})Open Path Row
Use a file path to locate the Bike Outliner outline file, then select the row identified by the fragment id.
import { openPathRow } from 'protocol-launcher/bike-outliner'
const url = openPathRow({
path: '/Users/jessegrosjean/Documents/todo.bike',
selectedId: 'aF',
})Open Existing Row Link
Use openRowLink() when you already have a full Bike Outliner row link or path row link.
import { openRowLink } from 'protocol-launcher/bike-outliner'
const url = openRowLink({
url: 'bike://KOcw9x9N/ch#zf',
})Generated URLs
openRow({
rootId: 'KOcw9x9N',
focusId: 'ch',
selectedId: 'zf',
})
// => 'bike://KOcw9x9N/ch#zf'
openPathRow({
path: '/Users/jessegrosjean/Documents/todo.bike',
selectedId: 'aF',
})
// => 'bike:///Users/jessegrosjean/Documents/todo.bike#aF'
openRowLink({ url: 'bike://KOcw9x9N/ch#zf' })
// => 'bike://KOcw9x9N/ch#zf'