a small markup format

I use markdown so much for github readmes, on StackExchange and Discourse that I’m really, really getting used to it.


I wish I could use it as an alternate markup here in PmWiki; not main markup, as so many other markups are possible here in the wiki. But for simple things like headings, lists, links, &c I am very VERY happy with it.




PageDown is the JavaScript Markdown previewer used on Stack Overflow and the rest of the Stack Exchange network.


in-browser editor can save locally



Emacs integration



For rendering, I used node’s markdown-preview, for which I contributed a bug-fix the day I started using it.




;;; http://jblevins.org/projects/markdown-mode/
(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

;;; https://npmjs.org/package/markdown-preview
(setq markdown-command "markdown-preview")
(setq markdown-command-needs-filename t)


And that should do it. I had no luck setting markdown-open-command to use markdown-preview



NOTE: markdown-mode.el runs a shell-command, which waits for a return value.
This ties up the buffer (actually, ALL of Emacs) preventing further changes.
Which is a shame, since markdown-preview watches the file and performs live-updates.


I did get the below to work in *scratch* via emacs’ Asynchronous Processes notes:


(add-to-list 'exec-path (concat (file-name-as-directory (getenv "APPDATA")) "npm"))
(start-process "markdown-preview" "*scratch*" "markdown-preview.cmd" "d:/Dropbox/projects/NaNoGenMo.yawp/ngram/README.md")

;; so then this should work:
(defun markdown-preview-buffer ()
  "open current buffer with markdown-preview (node.js)"
  (start-process "markdown-preview" nil "markdown-preview.cmd" (buffer-file-name)))

;;; redefine the keymapping in markdown-mode only
(define-key markdown-mode-map (kbd "C-c C-c p") 'markdown-preview-buffer)


cf notes on start and cmd


The second parameter "*scratch*" associated that buffer with the process, appending stdout to the buffer -- to see errors, in particular. Remove for other uses.


BUT how to get markdown-mode.el to use this?
Or just skip the mode entirely, and wire up my own thing?


The docs on markdown-mode.el speak of markdown as a program you’d just find lying about, ready to do all sorts of things. While I haven’t been able to find it at all for Win32 or Gnu.



See Also

Git - used on github, amongst other locations
https://prose.io for editing



Category tags



No comments yet.



Add Comment

 Your Message
 Enter value ← Have you entered the code number?