Using GitHub to host Markdown files

Why should developers be the only ones who get to have fun with GitHub repositories? Writers can get in on the action too.

The point of this post is not to teach you how to use git and GitHub. You can find other resources to help with that. I intend only to explain why GitHub might be a good option for hosting Markdown files for cross-platform writing.

The problem

My digital writing workflow was straight forward as long as I was using only devices made by Apple (Mac mini, iPad, and iPhone) and could sync all of my Markdown files via iCloud. However, I ran into a problem whenever I re-purposed an old Asus laptop by installing Fedora 35, converting the laptop into a Linux desktop. (I call it a “Linux desktop” because the display no longer works, but the laptop projects onto an external display via the HDMI port).

I knew of no way for a Linux computer to sync with iCloud, so I had to look for a third-party syncing solution.

Failed options

Following is a snapshot of some other options I tried before settling onto GitHub.

Dropbox

Technically, Dropbox could have worked—if I were willing to pay $9.99 a month (or $11.99 a month if I didn't pay for a year upfront) for the Plus plan. But I didn't want to pay just for syncing Markdown files. It's not as if I have a huge library taking up gigabytes of storage, so anything more than $2 a month feels like a waste of money.

I could have stuck with the free plan if I were willing to limit myself to only 3 devices. But I instead chose to stick with my 4:

I also considered Dropbox Paper. While Paper does respond to some Markdown, I ran into a couple issues:

I appreciate that Markdown allows flexibility for editors—I don't want to be locked into a certain app or ecosystem. I write my Markdown files in iA writer on Mac and iOS. iA writer does not have a Linux client, so on Linux I use Typora.

Box & Google Drive

Box looked like a great option, especially since I have 50GB free due to some promotion from a few years ago.

But Box doesn't have a Linux client. And using WebDAV has never seemed reliable to me.

Also, Google Drive no longer has a Linux client. Boo!

Obsidian

I considered going the second brain route with Obsidian, but Apple devices sync Obsidian vaults only via iCloud, unless I want to pay $8 a month for Obsidian Sync.

No, thank you.

Nextcloud

I considered using Nextcloud to host my own cloud on a VPS like DigitalOcean or at home on my own Raspberry Pi. But I've been down that road before and know that I don't want to be responsible for maintaining my own server.

GitHub to the rescue

After the failures listed above, I decided to give GitHub a shot. And I'm glad I did, because the process couldn't have been much easier.

Using GitHub to host my Markdown files has required:

Perhaps I would not have been so quick to go with GitHub if I hadn't already paid $19.99 for the Pro version of Working Copy. But the price of the Pro license is comparable to two months of Dropbox's Plus plan, so this solution would still make sense.

Concerns

Despite being happy with my choice of using GitHub, I would be dishonest not to mention some concerns with this solution.

Syncing is not automatic

Syncing via GitHub is not a big deal. Just execute a pull or a commit and a push, and you're good to go. That said, I could forget to push on one machine and then jump to another machine, unable to access the latest version of a piece of writing on that original machine.

Fortunately, I'm not working on any mission critical projects. Worst case scenario, I might take my iPad to the coffee shop and be inconvenienced because I can't access the latest file version I edited on my Mac mini or Linux desktop. That's a risk worth taking.

No internet

This problem kind of plays into the point about syncing not being automatic.

What if I'm out of the house with my iPhone or iPad and do not have reliable internet, meaning I can't pull and update from my GitHub repo?

Conclusion

While my concerns are valid, I am fortunate that I am hardly ever without internet or in a situation where forgetting to sync would be detrimental. Also, I am not currently working on anything critical that could not wait until a later date, even if my anxiety makes me forget that at times.

#writing #git #GitHub #technicalwriting