Keep selected child blocks pinned to the top of their current parent, even as blocks move and siblings are reorganized.
- Pin, unpin, or toggle the focused block from the command palette.
- Pin or unpin any block from the block context menu.
- Keep multiple pinned siblings at the top in their current pinned-group order.
- Drag pinned blocks to reorder them within the pinned group.
- Move pinned blocks to another parent and keep them pinned in the new pinned group.
- Reorder the real Roam outline with Roam's native block reorder API; no duplicate shelf or hidden source blocks.
- Watch pinned parents so regular blocks inserted above or between pinned blocks are moved below the pinned group.
- Mark pinned blocks with a small pin indicator and stable CSS hooks for custom styling.
Pinned Blocks: Toggle Pin Focused BlockPinned Blocks: Pin Focused BlockPinned Blocks: Unpin Focused Block
Pinned Blocks adds these classes to the rendered outline:
.roamjs-pinned-blocks-block.roamjs-pinned-blocks-block-pinned
The default indicator is rendered on .roamjs-pinned-blocks-block-pinned::before
and can be adjusted with CSS variables:
--roamjs-pinned-blocks-indicator-color--roamjs-pinned-blocks-indicator-size--roamjs-pinned-blocks-indicator-left--roamjs-pinned-blocks-indicator-top--roamjs-pinned-blocks-indicator-opacity--roamjs-pinned-blocks-indicator-z-index