Some time ago I have written about transforming stuff while copying it from Emacs to the system clipboard. Recently, I noticed that I sometimes write something in Org-mode only to subsequently copy it to some place which accepts Markdown formatting.
So, I decided to write a simple function transforming the region in Org-mode syntax to Markdown. While at that, I decided that I should put it into the system clipboard, bypassing the Emacs kill ring – after all, why would I want to yank it back into Emacs?
As it turned out, the most tricky part was to learn how to tell the Org-mode exporter not to output the table of contents. After several failed attempts, I asked on the Org-mode mailing list, and voilà!
So, here is my (very rudimentary) command to take the active region (in Org-mode) and copy its Markdown equivalent to the system clipboard.
(defun org-copy-region-as-markdown ()
"Copy the region (in Org) to the system clipboard as Markdown."
(interactive)
(if (use-region-p)
(let* ((region
(buffer-substring-no-properties
(region-beginning)
(region-end)))
(markdown
(org-export-string-as region 'md t '(:with-toc nil))))
(gui-set-selection 'CLIPBOARD markdown))))
CategoryEnglish, CategoryBlog, CategoryEmacs, CategoryOrgMode