Difference between revisions of "Markdown"
m (fix a missing left parenthesis at impatient-mode) |
(added another filter for impatient-mode) |
||
Line 26: | Line 26: | ||
Then '''M-x imp-set-user-filter''' in your markdown buffer, and supply markdown-html when it asks for the function. Live updating markdown! | Then '''M-x imp-set-user-filter''' in your markdown buffer, and supply markdown-html when it asks for the function. Live updating markdown! | ||
+ | |||
+ | Another filter which cooperates markdown-mode: | ||
+ | |||
+ | (defun markdown-filter (buffer) | ||
+ | (princ | ||
+ | (with-temp-buffer | ||
+ | (let ((tmpname (buffer-name))) | ||
+ | (set-buffer buffer) | ||
+ | (set-buffer (markdown tmpname)) ; the function markdown is in `markdown-mode.el' | ||
+ | (buffer-string))) | ||
+ | (current-buffer))) | ||
=== Livedown-mode === | === Livedown-mode === |
Revision as of 12:11, 30 January 2016
Library | markdown-mode |
---|---|
Command | markdown-mode |
Builtin | no |
Markdown Mode provides a major mode for editing Markdown-formatted text files.
This package is not currently part of the Emacs distribution.
See also
Live preview as you type
There are a few possibilities.
Impatient-mode
See impatient-mode (in MELPA). It only depends on emacs packages. This package is designed for html though, but it is possible to make it render markdown. Evaluate this somewhere so you have the function:
(defun markdown-html (buffer) (princ (with-current-buffer buffer (format "<!DOCTYPE html><html><title>Impatient Markdown</title><xmp theme=\"united\" style=\"display:none;\"> %s </xmp><script src=\"http://strapdownjs.com/v/0.2/strapdown.js\"></script></html>" (buffer-substring-no-properties (point-min) (point-max)))) (current-buffer)))
Then M-x imp-set-user-filter in your markdown buffer, and supply markdown-html when it asks for the function. Live updating markdown!
Another filter which cooperates markdown-mode:
(defun markdown-filter (buffer) (princ (with-temp-buffer (let ((tmpname (buffer-name))) (set-buffer buffer) (set-buffer (markdown tmpname)) ; the function markdown is in `markdown-mode.el' (buffer-string))) (current-buffer)))
Livedown-mode
livedown is specific to markdown but it requires nodejs packages (to be easily installed with npm).
Realtime-preview
realtime-preview.el requires a ruby package (redcarpet). Then it does the rendering in EWW, which is embedded in Emacs24.4.
External Links
- Markdown Mode Project
- Source (git)
- Markdown-toc (Melpa), a simple TOC generator for a markdown file