Skip to content

    Development documentation — this describes the current development branch. Documented behavior may not exist in the latest release.

    Editor and preview

    The interface is split into two panes: a Monaco-based editor on the left and a live HTML preview on the right. Editing happens entirely in your browser.

    The header exposes these actions and toggles:

    ControlEffect
    ResetRestores the default Markdown sample. If you have edited the content, it asks for confirmation first.
    CopyCopies the current editor text to the clipboard.
    Export PDFRenders the preview to a PDF. See Export and persistence.
    Sync scrollKeeps the preview scrolled in proportion to the editor.
    Dark modeSwitches the page and preview between light and dark themes.
    External imagesAllows remote images in the preview. Off by default — see Privacy controls.
    Private modeStops saving editor content to browser storage. See Privacy controls.
    AnalyticsEnables opt-in Google Analytics. Off by default.

    Type Markdown in the left pane. As you type, the preview updates: the text is parsed by marked, sanitized by DOMPurify, and passed through a URL/scheme policy before it is inserted into the preview. Standard Markdown is supported — headings, emphasis, lists, tables, blockquotes, links, images, and fenced or inline code.

    The editor is single-purpose: language features such as autocomplete, hover, folding, and the minimap are intentionally disabled to keep it a distraction-free Markdown surface.

    Drag the divider between the two panes to change their relative width. Double-click the divider to reset the split to 50/50.

    The preview uses GitHub-style Markdown CSS and follows the current theme. Rendered links open with rel="noopener noreferrer nofollow", and images are subject to the remote-image policy described in Privacy controls.

    Sanitized rendering reduces the risk of pasting untrusted Markdown, but it is not a complete isolation boundary. See Security and privacy.

    • Type # Hello and confirm a level-1 heading appears in the preview.
    • Enable Sync scroll, scroll the editor, and confirm the preview follows.