There are, of course, a few rough spots in my workflow that I’d love to have ironed out a bit more. I step through those in more detail and describe a bit more what I’d like to see. But all in all, I’m pretty happy with the process and workflow that I’ve put together. Here’s a quick rundown, list style:
- Freemind - Cross-platform tool for mindmapping. I use this not just for gathering my thoughts and organizing my work, I actually also use the mindmap as a project dashboard for large writing projects. The built-in hyperlinking capabilities of Freemind are fantastic for drilling directly to the work file I want to work on. Of course, the UI is a bit dated and startup performance is a bit sluggish, so I’d love to see someone bring some modernization to this fantastic tool. And yes, I’ve tried the Freeplane fork, but it doesn’t really solve any of the issues I personally have.
- Vim - These days, this is pretty much where I do all of my writing, whether I’m on a desktop, a laptop, or on my phone. I write using Markdown syntax. Of course, if you don’t want to use Vim, there are plent of powerful plaintext editors out there that have more native support for Markdown (e.g. Atom, Remarkable, Haroopad, and yes, Emacs). I didn’t mention it in the show, but there are a handful of plugins that I use for Vim to help make my writing experience a bit more pleasant. He’s a short list (you can actually see my full Vim configuration on my Github page):
- vim-airline - A lightweight and handy status bar/footer
- vim-markdown - For nice syntax highlighting in Markdown and a few other conveniences
- vim-pencil - A plugin for much nicer handling of soft-wrapped and hard-wrapped lines (I prefer to work with soft-wrapped lines, but still let my up/down arrow keys move up and down visible lines rather than along line numbers.
- Mercurial - Of course I version control my writing. My versioning system of choice is Mercurial. You’re welcome to use Git, but I’ve gotten pretty partial to Mercurial’s way of handling things.
- wdiff - A handy little diff tool for comparing individual word changes in lines of text. I use this as an external diff tool for Mercurial when reviewing edits that I’ve made.
- Termux - When I write remote, I most frequently write on my phone with a Bluetooth keyboard in Termux. Termux is basically a very powerful shell for Android that allows you to install many full Linux applications like Vim and Mercurial without rooting your device. I’m a huge fan.
- Pandoc - A totally badass conversion tool. This is what I use to get my Markdown files converted to just about anything else I need to. One day, I’d love to automate the creation of EPUB deliverables using make. One day.
- LibreOffice - If you’re working with other people (especially editors) who aren’t as dialed-in on the open source ecosystem, you’re likely to need to send them DOC files of some sort. While Pandoc does a great job at the initial conversion, I still tend to open files in LibreOffice to put a little spit-shine on them… and to read notes that people give me on my work when I send them these files.
- Sigil - When I convert to EPUB, I often like to do refinements and customizations (and cross-device testing). Sigil gives low-level control for modifying the presentation of your ebook.
- Calibre - Originally developed as an ebook management tool/library, Calibre has become so much more. It can do format conversions and give reasonably accurate previews of your ebook. When doing ebook layout, I tend to bounce back and forth between Calibre and Sigil.
- Scribus - If you’re doing a print book, you’re going to need a good quality print layout tool. Scribus is absolutely up to the task.
Of course, if you’re more aligned to the single-application workflow (like Scrivener in the closed source world) there are some open source writing tools that may be more your speed. Have a look at Bibisco and Plume Creator. Although I’ve never seriously used either of these, I know of some folks that really like them. There’s a nice article about the Bibisco over on Opensource.com.
Whew. That was a lot of writing. It’s almost like I enjoy doing that!
What do you use for your writing? Got any suggestions? Got any questions on what I use? Let me hear it down in the comments.