Editing documents
Markdown files open straight into a live editor in the web file browser. It is a rich text surface: headings, lists, tables, and code render as you type, and everyone with the file open edits the same document at the same time. Behind the scenes every edit is recorded to the operation log through the same auto-commit path the CLI uses, and the file on trunk is always plain, portable markdown. Nothing about the rich editor leaks into the stored file.
Editing requires write access to the repo. Read-only viewers get the same live view (including collaborators’ cursors) without the editing affordances.
Formatting toolbar
Select any text and a small toolbar floats above the selection:
- Bold, italic,
strikethrough, and inline code - Link: opens an inline field for the URL (or press
Cmd/Ctrl+K) - Text, H1, H2, H3: switch the current block between paragraph and heading levels
- Comment: start a comment thread anchored to the selected text
The active buttons highlight to show the formatting already applied to the selection.
Markdown shortcuts
The editor understands markdown as you type. At the start of a line:
| Type | Get |
|---|---|
# + space (up to ######) | Heading 1 through 6 |
- + space | Bullet list |
1. + space | Numbered list |
[] + space | Checklist item |
> + space | Quote |
``` | Code block |
--- | Divider |
Inline, the usual keyboard shortcuts work: Cmd/Ctrl+B for bold, Cmd/Ctrl+I
for italic, Cmd/Ctrl+Shift+S for strikethrough, and Cmd/Ctrl+K to link the
selection.
Checklist items render with a real checkbox. Clicking one toggles it for
everyone, and the state round-trips as standard - [ ] / - [x] markdown.
Slash menu
Type / on a line to open the insert menu: headings, bullet and numbered
lists, checklist, quote, code block, table, and divider. Keep typing to filter
(/tab narrows to Table), move with the arrow keys, and press Enter to
insert. Escape closes the menu and leaves what you typed.
Tables are real GFM pipe tables. Tab and Shift+Tab move between cells, and the
saved file contains the plain | a | b | markdown, alignment included.
Moving blocks
Hover over any block and a grip appears in the left margin. Drag it to move the whole block (a paragraph, list, table, or code block) somewhere else in the document. The move lands as a single edit, so concurrent editors never see the block duplicated.
Comments on a selection
Select text and click Comment in the toolbar to open the composer. The comment anchors to that exact span and the anchor follows the text as the document changes, including through other people’s concurrent edits. Anchored spans show a highlight in the editor; when the underlying text is deleted the comment is kept and flagged as outdated, still quoting what it referred to.
Threads, replies, reactions, @-mentions, and resolve work the same as comments everywhere else in Fabric.
What gets stored
The editor never invents a private format. Saving projects the document to markdown and records it as ordinary edit operations, so:
fabric clonegives you the same markdown you would have written by hand- diffs and history read cleanly in any tool
- a file edited over the CLI and the web editor round-trips without churn
If the editor bundle fails to load (or JavaScript is off), the page falls back to a plain textarea editor with a live preview; autosave works the same way there.