I'm about to get involved in some collaborative prose writing with a friend of mine via email. As a regular person, he will of course be using MS Word document formats; as a massive nerd, I prefer to use markdown when writing on a computer.
What I need is the exact opposite of this question about converting rich text copied from a webpage to markdown. My naive worst-case workflow would be:
- Write up the document in markdown
- Use
pandoc -S file.mkd -o temp.html
- Open up
temp.html
in a web browser - Copy & paste from the page to the open document in libreoffice
I am certain that this can be optimised.
(Google Docs is not an option in this case).
Even though I've answered the main question, I still feel that this could be optimised further. If there is any way to concatenate .doc files (which I will be receiving and which pandoc can write to), perhaps with the libreoffice command-line interface, then I suppose it would be possible to construct an overly-complicated one-liner and avoid having to leave the terminal at all. If anyone finds a way to do that, I will happily accept that answer over my own.
Best Answer
As it turns out, the link in the question hinted at a working solution in the form of
xclip
:...and then I can paste it straight into the document in libreoffice, properly formatted. This works with the versions of the programs in the Ubuntu 13.04 repositories (pandoc 1.10.1 and xclip 0.12) -- the
-t
option for xclip especially is only in version 0.12 or above. The-S
option of pandoc makes it produce 'typographically correct output', so--
is turned into an en-dash,---
is turned into an em-dash, and a few other things.If you want to use the
ctrl-v
clipboard, use:Edit: if you're running OS X (with
pbcopy
rather thanxclip
), use:To transform selected text without creating a file, you can use:
...this can, of course, be mapped to a keyboard shortcut.
This can work well with a number of text markup formats as input, see the pandoc guide for some more information on how to accomplish this (you might need to use the
-f/--from/-r/--read
option, especially if you're using thexclip|pandoc|xclip
version).As a side note, you can also read an already-existing HTML file into
xclip
:or