You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modern WYSIWYG-style markdown editing for Emacs 30+.
mark-graf brings a seamless live preview experience to Emacs, combining inline WYSIWYG rendering with the text-property-based approach of org-modern. Unlike traditional markdown modes that display raw syntax or require split-pane previews, mark-graf renders markdown content inline while maintaining full editability.
Or activate manually with M-x mark-graf-mode in any markdown buffer.
Quick Start
Key
Command
Description
C-c C-s b
mark-graf-insert-bold
Insert/toggle bold
C-c C-s i
mark-graf-insert-italic
Insert/toggle italic
C-c C-s c
mark-graf-insert-code
Insert/toggle code
C-c C-t 2
mark-graf-insert-heading-2
Insert ## heading
C-c C-l
mark-graf-insert-link
Insert link
C-c C-i
mark-graf-insert-image
Insert image
C-c C-v v
mark-graf-toggle-view
Toggle source/rendered
C-c C-e h
mark-graf-export-html
Export to HTML
Editing Paradigms
Configure mark-graf-edit-style to control when raw markdown is revealed:
;; Show source only on current line (default)
(setq mark-graf-edit-style 'line)
;; Show source for entire block (good for tables, code blocks)
(setq mark-graf-edit-style 'block)
;; Full WYSIWYG - source revealed only on demand
(setq mark-graf-edit-style 'hybrid)
Navigation
Key
Command
Description
C-c C-n
mark-graf-next-heading
Next heading
C-c C-p
mark-graf-prev-heading
Previous heading
C-c C-u
mark-graf-up-heading
Parent heading
TAB
Context-sensitive
Cycle visibility / table nav
Lists
Key
Command
Description
M-RET
mark-graf-insert-list-item
New list item
C-c <up/down>
Move item
Reorder list items
C-c <left/right>
Promote/demote
Change indentation
C-c C-x C-b
mark-graf-toggle-checkbox
Toggle task checkbox
Tables
Key
Command
Description
C-c |
mark-graf-insert-table
Insert new table
TAB
mark-graf-table-next-cell
Next cell
S-TAB
mark-graf-table-prev-cell
Previous cell
Export
;; Built-in HTML export (no dependencies)
M-x mark-graf-export-html
;; Preview in browser
M-x mark-graf-preview-html
;; Export via Pandoc (requires pandoc)
M-x mark-graf-export-pdf
M-x mark-graf-export-docx
Customization
All options available under M-x customize-group RET mark-graf: