jupyterlab_advanced_markdown_viewer_extension
See the changes an AI agent, or any other program, makes to a Markdown file as it makes them. The JupyterLab Markdown Preview shows each change without a reload: added text is typed in on green, and removed text is struck through on red, then deleted. While the agent works, you can mark passages and write notes on them, stored in the Markdown file itself.
Features
- Changes show as they are written - the Markdown Preview shows a change to the file within half a second, with no reload
- Watch each change happen - added text is typed in on green; removed text is struck through on red, then deleted
- Your place is kept - the preview keeps the same text in view when the file changes outside it
- See which tab changed - a half-filled circle for a new change, a red square for a change held back or dropped where it met your unsaved edits, a cross for a deleted file
- Unsaved edits are kept - a change from disk lands around your unsaved edits; where it overlaps or sits right beside them your text stands and the tab shows a red square; when the part that is dropped adds or removes a code fence or an HTML comment marker, such as a mark, none of the change is shown; save to keep your version, or choose File, Reload Markdown File from Disk to take the file's
- Mark and note while the agent writes - six colours, notes on a passage or on the whole document, all listed beside the preview
- Notes are stored in the file - as HTML comments that other Markdown renderers do not show; a note line an agent adds appears in the thread
- Copy the document, or one passage of it, for an email - Copy Content in the preview's context menu puts the selected passage on the clipboard as basic HTML, or the whole rendered document when nothing is selected, without the theme's colours, the marks' paint or any styling
Screenshots
The screenshots use a dark theme; the colours of changes and marks change with the active JupyterLab theme.
A change arriving from disk: "Monday." is struck through on red before it is deleted, "Tuesday." has been typed in on green, and two new lines are still being typed. The half-filled circle on the report.md tab shows that the file changed.
Notes beside the preview: a note on the whole document, then three marked passages. Each note shows who wrote it and when, and all of them are stored in report.md as HTML comments.
Usage
- Right-click a Markdown file in the file browser and choose Open With, then Markdown Preview. From then on a change arriving from disk is highlighted, and the tab shows an icon until you look
- Select a passage in the preview, right-click and pick a colour under Mark; or select with caret browsing (F7) and press Ctrl Shift M (Cmd Shift M on macOS). Choose Add note to mark and write a note in one step
- Press the plus in the notes panel header for a note on the document as a whole; the panel is shown from the badge at the top right of the preview or from Show notes in the context menu. The context menu and the palette offer no entry for the document note itself
- Click a row in the panel to reveal its passage and open its notes, colours and removal control; the caret at the header's left edge collapses the panel to a strip of ticks, the cross hides it. With the panel hidden, the notes badge at the top right of the preview brings it back
- Right-click the preview and choose Copy Content to put the selected passage on the clipboard as basic HTML, or the whole rendered document when nothing is selected: headings, lists, tables, links and code, with no colours or styling, ready to paste into an email. A selected table row keeps the table its cells sit in, and a selected fenced block keeps the line breaks of its program. The same entry is in the command palette
Limitations
- A file open only in an editor is not followed; open it in the Markdown Preview. A preview opened over unsaved edits after the file had already changed holds that change back, and a save then meets JupyterLab's own File Changed dialog
- On network drives, Windows drives under WSL2 and other mounts that raise no file events, the first change can take up to 10 seconds to show; after it, the file is checked every second
- A line an agent appends during the few milliseconds a mark is being written can be lost
- With unsaved edits, a new mark stays in the document and reaches the file with your next save
- With live updates off, or without the server extension, a mark is saved through JupyterLab, whose File Changed dialog can appear if an agent wrote in between; Revert keeps the agent's text and drops the new mark
- Showing, collapsing or hiding the notes panel stores that state in the file as an HTML comment
Settings
All settings live under Settings, Advanced Settings Editor, Advanced Markdown Viewer.
enabled- on by default; off, the preview keeps what it showed until the document is reloaded; marks and notes have their own settingpollInterval- the interval of the fallback check for filesystems that raise no file events, in seconds; file events through the server extension are the primary path, so a lower value does not make updates fasterhighlight- green and red backgrounds on changed texthighlightVisibility- how strong those two backgrounds are: Low, Medium or High, Medium by defaultfadeDuration- how long the highlight stays on changed text, in milliseconds; it rises over 0.5 s and fades away over the last 0.75 sanimation- on by default; changes play out as typinganimationSpeed- typing and deletion speed in characters per second on average, 75 by default; 0 shows a change at onceanimationJitter- how far each character's time may stray from the even time at that speed, as a share of that time, from 0 to 1, 0.25 by default; 0 types evenlytabCue- the markers on the document tabnotes- on by default; off, the panel, the marks and the marking entries are hidden and the markers in the file are left aloneauthor- the handle a note line opens with, without the leading @; empty writes@author
Requirements
- JupyterLab >= 4.0.0
Install
To install the extension, execute:
pip install jupyterlab_advanced_markdown_viewer_extension
The Markdown suite
The install above brings ten more extensions with it. Each fixes or adds one thing in JupyterLab's Markdown handling, and this extension is built to work beside all of them:
| Extension | What it adds |
|---|---|
jupyterlab_markdown_viewer_toc_fix |
Table of Contents navigation and anchor links work in the Markdown Viewer |
jupyterlab_markdown_switch_tab_scrolling_fix |
A Markdown file stops scrolling by itself when you switch tabs while images load |
jupyterlab_markdown_syntax_rendering_fix |
Syntax colours in rendered fenced code blocks with no editor open |
jupyterlab_github_markdown_alerts_extension |
GitHub alert blocks render, such as > [!NOTE] and > [!WARNING] |
jupyterlab_edit_markdown_at_content_extension |
Opens the editor at the line you were reading in the preview |
jupyterlab_markdown_insert_content_extension |
Inserts reusable content blocks, starting with a generated table of contents |
jupyterlab_paste_content_as_markdown_extension |
Pastes formatted clipboard content as Markdown |
jupyterlab_export_markdown_extension |
Exports a Markdown file to PDF, DOCX and HTML |
jupyterlab_refresh_view_extension |
A Refresh View command reloads a file from disk, keeping the scroll position |
jupyterlab_colourful_tab_extension |
Pastel tab colours, so many open documents stay tellable apart |
Each one also works on its own. The version floors are simply what each sibling was published at when the family was surveyed; none of them is imported, required or linked by this extension's code, so an older one degrades rather than breaks.
Uninstall
To remove the extension, execute:
pip uninstall jupyterlab_advanced_markdown_viewer_extension
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyterlab_advanced_markdown_viewer_extension-1.0.12.tar.gz.
File metadata
- Download URL: jupyterlab_advanced_markdown_viewer_extension-1.0.12.tar.gz
- Upload date:
- Size: 5.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10c86c7dc0ca5fd4c7392098f6fa0958fdc7e449bbdc46b9d275402d98dc6eb4
|
|
| MD5 |
c84e11992ab387fac9f0f63684939135
|
|
| BLAKE2b-256 |
7f0f0811c929cf9648b431d7a1a7af85ba60c42f664958fbc696bcc6ee042923
|
File details
Details for the file jupyterlab_advanced_markdown_viewer_extension-1.0.12-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_advanced_markdown_viewer_extension-1.0.12-py3-none-any.whl
- Upload date:
- Size: 118.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e14cb04972604fda2c491bfea9bf3567dcf24b964d511f7bab4395337eb6e266
|
|
| MD5 |
b5c697dab57448374403eda8b3ff69f8
|
|
| BLAKE2b-256 |
09cca440efd3aae6d869e895b7de95fc0136400a06a8966109b8500c67db2933
|