My plain text workflow as a fiction writer.

Like this post? Donate to me so I can keep writing.

Ever since discovering that I could write my novels in plain text and or Markdown, and also that I could write my fiction podcast scripts in a plain text syntax called Fountain, I began wondering what other plain text avenues I could explore, and if I could adapt my workflow around plain text.

Why use plain text?

Some might wonder, why even use plain text when I could just use Microsoft Word, a fully accessible paid word processor that works reasonably well for screen readers? In a few words, portability and flexibility and longevity.

With a Microsoft Word file, if someone doesn’t have Word installed on their computer, this means they wouldn’t be able to open and or read my file. If I go to a public computer, for example, that computer might have an older version of Word that would mess up my formatting. If everything is in plain text, I can quite literally work anywhere, and across operating systems, even mobile operating systems.

All operating systems can read and open plain text. Without getting too deep into the weeds, a plain text file is very small because it contains only the stuff found on a keyboard like the letters, numbers, and symbols. Ever opened up a Microsoft Word file in a text editor and gasped at all that code? That code is rendering so many things in the background that it increases the file size, and, by extension, processing power of your PC to even open the darn thing.

Simply put, plain text renders everywhere because the computer doesn’t have to render fonts or backgrounds or otherwise. This is also what makes it so portable. Any operating system can open plain text stuff. Because of the above factors, I wanted to see if I could completely shift to just working in plain text.

My plain text requirements.

Because I’m a blind writer of both fiction and nonfiction, I needed special requirements when adapting my workflow to be plain text.

  1. I needed any text program with a graphical user interface to be accessible to screen readers on Windows since I use Windows because I don’t like Macs and, I would use Linux if I could, but there is no modern Linux distro that’s accessible to the non tech savvy blind person. Even though I’m quite techy, I always look for solutions designed for non-technical users because, that way, I can tweak it later if I need to, but for the most part, it just works.
  2. I needed programs where I could easily edit the settings file in a text editor if the user interface, UI, had an update and became less accessible overnight. For the non tech folks reading this, I’m referencing an editable INI file.
  3. I needed a text editor with autocorrect/text replacement options, not auto complete. If I type rkaddy it should transform into a much longer string that I specify. autocorrect is in all of my workflows. In Microsoft Word, I can type three characters and it expands into two paragraphs after I hit the space bar or punctuation key, so I wanted that kind of power in a text editor.

With those requirements in mind, I began hunting for workflows. Even in the plain text realm, nobody could meet all my requirements, but I did come close to finding an all in one workflow that’s also portable, so can go with me into every new computer I have.

Plain text software.

I tried many plain text software for Windows. Some were screen reader accessible, while others weren’t screen reader accessible, at all. I didn’t try much of the terminal based text editors because I just can’t get the hang of writing romance novels in a terminal window, especially since I like to go back and review what I’ve written, and unless I’m missing a screen reader trick, it’s more trouble than it’s worth to review previous output in a terminal window.

I opted to use only portable text editors for Windows, editors that could run on a USB flash drive without installing anything and adding to my registry.

I tried all the text editors with a spell checker compared by Wikipedia. None were fully accessible, but I did find some accessible graphical interfaced, GUI, based editors that are fully accessible to screen readers.

What about text editors with autocorrect?

Few text editors I tried had autocorrect, except for a couple text editors. That’s below. If an editor did have an autocorrect/text replacement option different from the accessible editors I list below, the settings dialog wasn’t accessible to my screen reader.

Autocorrect was essential for me so I began looking for ways to get autocorrect/text replacements in all editors. I found one fully screen reader accessible program that would let me do this.

I downloaded AutoHotkey and then I just edited this autocorrect script to fit my writing projects. Even so, it glitches out sometimes, so I’d still like a text editor with built in autocorrect/text replacement options other than the below editors.

Text editors with autocorrect/text replacements.

  1. PSPad. Has a lot of features but has some accessibility problems with controls and buttons.
  2. Jarte. Best text editor I’ve found and is fully accessible. Autocorrect entries can be tricky to add, but this is the best text editor I’ve found while it still works.
  3. LibreOffice. While not quite a text editor, it’s a free alternative to Microsoft Word with superb text replacement capabilities. It’s not fully screen reader accessible though for many reasons but for creating drafts, this can work fine.
  4. AutoHotkey can turn your whole PC into a text replacement workstation. Download then install AutoHotkey first, then download this AutoCorrect AutoHotkey script, then just run the script after editing the script to your liking. The AutoHotkey manual can teach you how to edit scripts or create your own autocorrect script.

Accessible text editors.

The below text editors are fully accessible to screen readers. I didn’t include Mac ones because I don’t use Mac. I use Windows. As I try more editors, and if they meet my accessibility standards, they will go in the below list.

Jarte is the only accessible text editor with autocorrect. The others in the below list don’t have autocorrect/text replacement capabilities but you can make any text editor have autocorrect with AutoHotkey.

A number of the below can be installed using the WinGet Install commands. Learn about Winget on Wikipedia.

  1. Jarte. In addition to this being fully accessible, it has autocorrect capabilities but since Microsoft is killing the WordPad engine soon, this won’t last long.
  2. Accessible Markdown editor. Best screen reader friendly Markdown editor I could find. It’s not feature rich, but I don’t need it to have everything.
  3. MetaPad. This is what Notepad should have been. This is blazing fast. It still works even though it hasn’t been updated in a while.
  4. Notepad++. I know this is accessible to many, but I just couldn’t find any decent starting points for using it as a fiction editor so I outline some starting points below. It does have an NVDA add on for Notepad++ though if you want to give it a try.
  5. VisCon. While this one appears to have stopped updating, it is the second best plain text editor I’ve found for screen readers. The backup installer is on the Internet Archive because it appears to have stopped updating.
  6. EdSharp. No longer updated but it works well.
  7. VSCodium. A fork of VS Studio Code without the telemetry and Microsoft branding but I’ve found VS Code is just not fit for me. It feels like a web app rather than a native program to me but you may like it.

Other text editors to try.

The below text editor listings list inaccessible software so try at your own risk, or boredom! I included portable databases so you can just remove the folder if you don’t like a program rather than uninstalling it. If you really like the program, feel free to install it.

  1. Portable text editors by the Portable Freeware Collection.
  2. Portable text editors by PortableApps.
  3. List of text editors on Wikipedia.
  4. Collection of open source text editors on GitHub.

My current draft writing workflow.

The below is my current workflow. If the below changes, I’ll update this blog post. I also talk about how I do text based accounting, as well, below, but this is how I write and export my work.

  1. Start a draft in anything but then save it as a text, .TXT, file and if I’m going to write lengthy stuff without Jarte or MSWord or LibreOffice, I launch my Autocorrect script.
  2. Save it as either plain text or Markdown. Because you can actually write Markdown in a plain .TXT file, saving it as a .TXT extension should do the trick.
  3. Because I tend to just write without making paragraph breaks, I sometimes use this online text cleanup tool to make paragraph breaks. If needed, this online tool removes messy paragraph breaks.
  4. Convert the file, with Pandoc, if needed. This is how I convert text into Shun Format. This is how I convert plain text into formatted screenplays.
  5. Because I often don’t use the shift key in dialog tags, I open the file up in MetaPad, select all with Control A, and convert everything to sentence case. That cleans up 99% of my grammar errors because almost all of my mistakes are not hitting the shift key when quoting someone.
  6. If the book needs extensive editing before sending it off, because I haven’t found a screen reader friendly text editor with grammar checking, I run the Microsoft Word grammar checker on it. Microsoft, ironically, made Word the best grammar editor I could find to date. Otherwise, if I feel it doesn’t need that much editing, for the most part, this is where I just send it off and let the editors take care of it. If I feel something needs to be replaced, I just use the find and replace tool in Jarte.

Merging multiple files in a folder.

Sometimes I don’t title my files sequentially but I want to order them and then merge them with Pandoc. The below Powershell command will rename all files in a directory sequentially by date created and then merge them with Pandoc.

Get-ChildItem . | %{Rename-Item $ -NewName ('{0}{1}' -f $.LastWriteTime.toString("yyyyMMdd-hhmmss"), $_.Extension)}; pandoc (get-item *.txt).FullName -o final.docx

The semicolon in the above is intentional. The above command performs two commands one after the other.

Exporting track changes and comments to plain text.

I use Pandoc to convert other tracked documents to plain text suggestions, outlined below. Alternatively, I upload the text file to Google Docs and use Google’s track changes feature if my editors or otherwise don’t have Microsoft Word.

If someone sends me a file with tracked changes in it, Pandoc can interpret those suggestions into plain text for later editing. For example,

An editor sends me a Microsoft Word file with track changes and comments in it. I convert the file with Pandoc, making sure to include,

pandoc -s draft.docx --output draft.txt --wrap=none --track-changes=all

The above command prints all suggestions and comments, but does not accept or reject anything.

If I want to accept everything and just read the changed output as plain text, I use,

pandoc -s draft.docx --output draft.txt --wrap=none --track-changes=accept

The above accept command doesn’t include comments in the output so if I want to read comments as plain text but exclude all the suggestions, I accept all suggested changes in Microsoft Word by pressing, accept all and stop tracking, in the document. I then save and close the document. With Pandoc, I then put,

pandoc -s draft.docx --output draft.txt --wrap=none --track-changes=all

Converting plain text suggestions to other formats

For now, I use this track changes lua filter with Pandoc. Here’s a Pandoc manual on how to use luas. Here’s a repository of luas and filters/functions.

I also flit between these Pandoc extras that track changes in plain text files and then export them to the requested format if the above filter doesn’t work.

For now, I track all my changes in text files with CriticMarkup because it looks to be a syntax others will add in the future.

Getting started with Notepad++ as a fiction writer.

I couldn’t find any lengthy posts/articles on getting started with Notepad++ as a fiction writer so I provided some tips below.

After downloading notepad++, I began looking for plugins for fiction writers.

The easiest way to install the below plugins is through the plugin directory found in the plugins menu. The directory is currently called plugins admin but it isn’t accessible to screen readers so I had sighted assistants check the boxes needed to install the plugins.

If you don’t have sighted assistants to aid you, you’ll need to install plugins manually.

The easiest way to do this is to download all the plugins you’re interested in first. Unzip any zipped folders as needed, and then move the plugin .DLL file into the plugins folder in notepad++.

The easiest way to get to this folder is open notepad++, open the plugins menu with alt, P. then press, O.

The plugins I use are,

  1. Spell Check.
  2. Auto Save
  3. Take Notes

Find some grammar errors with the find dialog.

Because Notepad++ has a pretty robust find function, even the ability to find across multiple files, you can use regular expressions to find some grammar issues.

The below string will find all double quotes and missing closing quotes.


Text based accounting.

Typically, I have my bank do my accounting, meaning it alerts me whenever I spend anything. I have an alert set up that goes to my email, and then I just copy that alert into a text document because it usually has everything I need such as amount, date, time, and who I paid and what I paid for. I keep everything in one text file, with the most recent alert at the top. Even though this works, I began to wonder if there wasn’t a plain text way to do accounting more efficiently.

I soon came across a program called Ledger. There’s another program called HLedger, and I still can’t figure out which one is the most recent one.

I didn’t have a clue how to compile them, so I used WinGet with PowerShell, which is basically like a text based software package to install/update/remove software to install both versions. Their manuals confused me to no end until I changed my punctuation settings in my screen reader. The manuals should get you started but, even after reading the manual and you still can’t figure it out, check back here and this blog post will be updated once I get the hang of it a bit more.

To install it with WinGet, open up PowerShell as an administrator and then paste,

winget install --id=simonmichael.hledger -e

After it installs, read the manuals to learn how it works!

If you’d like to explore text accounting more, this plain text accounting portal appears to be an evergreen resource, and this Wikipedia instance for text accounting appears to be updated regularly.

If anything changes, I’ll update the post above! Now that I’ve shifted to a mostly plain text workflow, I feel less hampered by inaccessible interfaces and complicated user interfaces that slow down my PC. If you have questions, contact me in some way.