Markdown Journaling

I’ve been journaling now for years. I started off using Day One for iOS and macOS. However, after this updated to the second version and moved to a subscription model, I decided that I didn’t want to pay for it, and moved. Since then, I’ve been using Zim Wiki for my journaling.

This has generally served me well, and ran nicely on Windows and Linux1. It worked and the output was portable and under my control, as each page is a text file and displays images inline. However, with the update to version 0.73 which uses GTK3, I noticed that a number of my previous entries were missing the photos that were attached.

I’m not sure why this is happening, as the files are visible within the file browser and work, so they aren’t corrupted from what I can see. The wiki itself otherwise works without any other issues.

However, it raises the issue that I might not be able to view the files in the future with updated versions of the software, so I thought I would reconsider how I go about journaling and look at alternative tools.

Markdown

Markdown is my preferred method of writing. Not only is it plain text so I can access it on any device, but it’s also easy to interact with and I can use multiple different editors on the same file.

For example, if I want a nice writing environment, I can access it with Inspire or Typora. If I need a more code based focus, I can use Visual Studio Code and if I want quick notes or easy search, I can access them via QOwnnotes, or as they’re text files, I can also use command line tools if needed. I can also export it in to a range of different formats and can even change the style easily, as the content is separate from the style.

Therefore, it made sense that markdown would be the best option for writing my journal.

Organisation

I decided that the easiest method of organisation is to have a folder for a year and then a single file for each month. This mimics Zim to a degree, which creates a file for each day and places this within a folder for the year and subfolder for the month. I’ve created a similar structure for the markdown files and I’m now using:

C:.
├───2020
│   │   10.md
│   │
│   └───images
│           2020-10-05_13-42-35.JPG
│           2020-10-05_18-51-11.JPG
│           2020-10-05_19-06-30.JPG
│           2020-10-06_21-35-11.JPG
│           2020-10-09_18-39-16.JPG
│           2020-10-18_11-09-23.JPG

I’ve kept the images stored in a separate subfolder within the folder - this way, when I open up the year folder, the images don’t detract from the markdown files. It means that each folder should have 12 files in and an images folder at the end of each year.

When writing, I’ve had to come up with a method of headings. Markdown supports a number of different heading types, so I’ve gone with the following:

 # = Year
 ## = Month
 ### = Day

This means that if at a later date I want to use something like Pandoc, I can use this to convert everything into a LaTeX file and then PDF if I wanted, as long as it’s all consistent.

The actual journaling is easy - I start each day with it’s heading, and this is typed in by using an Autohotkey snippet.

:*c:Wd::
    FormatTime, TimeString2,
    , dddd, dd MMMM yyyy
    Send %TimeString2%
return

This converts the phrase “Wd” in to the date - i.e. Monday, 19 October 2020. It keeps it consistent across the journal.

The actual writing of the journal isn’t special at all - I just follow the markdown format.

Editing on the Go

Mobile editing is fairly simple, as after all, the files are only Markdown files.

As the files are stored on my NAS, I access this via SFTP on iOS using Secure Shellfish, as this works nicely with Apple’s Files app/system. I could have used Dropbox, but as I don’t have Dropbox installed on the PC, that would be unwarranted.

Equally, if I’m at home, I can use the native iOS network share to edit the file (using iA Writer or 1Writer). This seems to be seamless - the only issue here is uploading images automatically - Typora will automatically copy the image in to the images subfolder that I’ve setup. Either 1Writer or iA Writer can attach images, but will only place this within the same folder as the text file, so if I want to add an image from mobile, I’ll have to upload it and manually add it - not the end of the world perhaps.

Conclusion

So far, I’ve only been using it through October, but so far it seems to work nicely.

I did run in to some issues with the mobile editing - I’m not sure if this was the app itself, if this was due to a poor web connection at the time or with Secure Shellfish. In this case, the text file got saved as multiple files with numbers at the end of the name as different versions. However, when I’ve tried on a stable internet connection, I haven’t noticed any such issues, so I believe this was the cause.

In the future, I may run the markdown files through Pandoc and see what the output is like, but for now, I’m able to comfortably journal and I can be confident that even if Typora disappears or becomes a subscription, then I can still access my files using another program, and whilst that may not have the same features, it’s nothing that can’t be worked around.

Yes, it’s not as nice a solution as Day One, and doesn’t record some of the metadata that Day One does that’s nice to have (such as location where you wrote the article or took a picture), it means I can concentrate on the writing and getting that done. I’ll see how things work out.


  1. I could never get it running nicely on macOS, even though there are guides out there to do so. ↩︎