Redline

by Nicolas Sassi
5
4
3
2
1
Score: 46/100

Description

PR-style review comments anchored to specific paragraphs, headings, images, code blocks, and tables. Comments live in a sibling .review.md sidecar so the source document stays clean.

Reviews

No reviews yet.

Stats

3
stars
2,723
downloads
1
forks
158
days
144
days
144
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
9
total issues
2
open issues
7
closed issues
40
commits

Latest Version

5 months ago

Changelog

Release 0.1.8

README file from

Github

Redline

Add PR-style review comments to any document in your Obsidian vault. Anchor comments to specific paragraphs, headings, list items, images, code blocks, callouts, or tables — your source documents stay clean because comments live in a sibling .review.md sidecar file.

Demo

Add-comment demo

Why

Obsidian is great for writing long documents collaboratively (with yourself, your future self, or external tools), but it has no built-in equivalent to a GitHub pull-request review. This plugin adds that workflow:

  1. Read a document.
  2. Drop comments where something needs to change.
  3. Hand the document plus its .review.md sidecar to any tool — a human, a script, an AI assistant — that can act on the comments.
  4. The tool resolves each comment by editing the source doc and flipping the comment status in the sidecar.

The plugin is intentionally protocol-based: it stores comments in a documented markdown sidecar format and does not bind to any specific downstream tool. Anything that can read markdown can participate.

Features

  • Add review comment on any paragraph, heading, list item, image, code block, callout, or table.
  • Block-reference anchoring: comments are pinned to Obsidian's native ^blockref markers, so they survive document reflow.
  • Markdown rendered comment bodies in both the sidebar cards and the editor hover tooltip — bold, links, lists, code spans, inline images all just work.
  • Edit existing comments from the sidebar; Cmd/Ctrl+Enter saves the modal.
  • Hover anywhere in the anchored block to see the comment as a tooltip (paragraph-wide, code-block-wide, table-wide, callout-wide).
  • Per-comment due dates with an overdue indicator (red border, dot, and an "overdue" sidebar filter).
  • Gutter markers in the editor: amber for open, gray for resolved, red for stale or overdue.
  • Review sidebar for the active document with filters (all / open / overdue / resolved / stale), jump-to-anchor, edit, toggle status, reattach, and delete.
  • Cross-doc dashboard lists every .review.md in the vault with per-doc open / stale / overdue counts, sortable columns, and click-through to the source doc.
  • Stale anchor detection + Reattach — if the anchor block is edited away, the comment is flagged stale; saved anchor context lets you reattach with one click.
  • Source-doc rename / move / delete are mirrored on the sidecar so reviews follow the document around (toggle in settings).
  • Jump to next open comment — keyboard-friendly navigation through unresolved items.
  • Per-document or central-folder sidecar storage (settings).

Installation

From the Obsidian community catalog (once published)

Settings → Community plugins → Browse → search "Redline" → Install → Enable.

Manual install

  1. Build (or download a release):
    git clone <this-repo>
    cd redline
    npm install
    npm run build
    
  2. Copy manifest.json, main.js, and styles.css to <vault>/.obsidian/plugins/redline/.
  3. Reload Obsidian → Settings → Community plugins → enable "Redline".

Usage

Add a comment

  1. Place your cursor on a paragraph (or select within it), or click an image/code-block/heading/etc.
  2. Open the command palette (Cmd/Ctrl + P) → Redline: Add comment at cursor.
  3. Type your comment (markdown is supported). Optionally pick a due date. Press Cmd/Ctrl+Enter to save.

The plugin will:

  • Inject a ^blockref anchor on the target block if it doesn't have one (reusing an existing anchor when present).
  • Create (or update) <doc>.review.md next to your document.
  • Show an amber gutter dot next to the anchored line and a card in the sidebar.

Open the review sidebar

Click the speech-bubble ribbon icon on the left, or run Redline: Toggle sidebar.

Open the cross-doc dashboard

Click the layout-dashboard ribbon icon, or run Redline: Open dashboard. You get a sortable table of every doc that has open / stale / overdue comments — click a row to jump into that doc.

Resolve, edit, reattach a comment

In the sidebar:

  • Resolve / Reopen — flips status between open and resolved.
  • Edit — open the modal again to update the body or due date.
  • Reattach — only shown for stale comments; uses the saved anchor context to find the original line and re-injects a fresh anchor.

Hand off to a downstream tool

The <doc>.review.md sidecar is a plain, documented markdown file. Any tool you trust to edit your documents — a script, an AI assistant, a coworker — can read the open comments and apply the requested changes.

Settings

  • Sidecar location — alongside the source doc (default) or in a central _reviews/ folder.
  • Central folder name — vault-relative folder used when central layout is selected.
  • Mirror source-doc lifecycle — when on (default), renaming, moving, or deleting a source doc also renames/moves/deletes its sidecar.

Commands

Command What it does
Redline: Add comment at cursor Create a new comment anchored to the current block.
Redline: Toggle sidebar Show/hide the review sidebar on the right.
Redline: Open dashboard Open the cross-doc dashboard tab.
Redline: Jump to next open comment Move the cursor to the next unresolved comment in the active doc.

Development

npm install
npm run dev       # watch mode
npm run build     # production build
npm test          # vitest unit tests for parser + block-id logic

Tests cover the sidecar parser/serializer round-trip and the block-id injection logic. UI components are verified manually inside Obsidian.

License

MIT — see LICENSE.