Share links
Any file you can open in the web file browser is shareable. Every file view offers two copy actions in its header:
- Copy link copies a live URL. Whoever opens it sees the file as it is now, on the current trunk. Use it for “look at this file” where latest is what matters.
- Copy permalink copies a URL pinned to the exact version on screen when
you copied it. The link’s
refis rewritten to a time-travel coordinate (op:<actor>:<seq>), so the trunk can move on and the link keeps showing the same bytes. Opening a permalink shows the read-only time-travel banner, with a one-click return to the latest version.
Line ranges
In the file viewer, click a line number to select that line. Shift-click another line number to extend the selection to a range. The selection is mirrored into the URL as a query parameter:
…/browse?view=blob&path=src/app.py&L10 # one line
…/browse?view=blob&path=src/app.py&L10-20 # a range
A small bubble appears beside the selection with both copy actions, so you can grab the live link or the permalink for exactly those lines.
Because the range travels as a query parameter (not a #fragment), the server
sees it: opening a shared URL renders the range already highlighted and
scrolled into view. A range that no longer fits the file (say the file got
shorter) degrades to the plain view instead of erroring.
Paragraphs in rendered markdown
Markdown files render as documents, but every rendered block (heading,
paragraph, list, quote) knows which source lines it came from. Hover a block
and a copy-link affordance appears; clicking it copies a link to that block’s
line range, in the same L format.
The highlight follows the Rendered/Source toggle both ways: a link to lines 10-20 highlights those lines in the source view and the matching blocks in the rendered view.
How permalinks relate to time-travel
A permalink is just a time-travel URL: the same
op:<actor>:<seq> frontier coordinates fabric clone --at accepts. When the
state you pinned has several concurrent tips, the link carries all of them,
comma-separated, so it reproduces the exact state. Permalinks are read-only by
design, like all time-travel views: you can look, but appending happens at the
current frontier.