Skip to content

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

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

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.

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

On-Demand
ts
import { openPathRow } from 'protocol-launcher/bike-outliner'

const url = openPathRow({
  path: '/Users/jessegrosjean/Documents/todo.bike',
  selectedId: 'aF',
})

Use openRowLink() when you already have a full Bike Outliner row link or path row link.

On-Demand
ts
import { openRowLink } from 'protocol-launcher/bike-outliner'

const url = openRowLink({
  url: 'bike://KOcw9x9N/ch#zf',
})

Generated URLs

ts
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'

Official Documentation