How to set up your own digital garden

a sketch of a tree from the Cloisters garden in NYC

Yesterday, I wrote about why I set up a digital garden. Today, I wanted to share a bit more about exactly how I set it up, as well as my current workflow for sharing notes. I'm only a couple weeks into tending my digital garden, so I wouldn't be surprised if my workflow evolved and changed over time. But here's what I'm doing right now.

I'm not going to get super technical in this post, mostly because I don't think I need to—more knowledgeable folks than me have already written out the exact steps to do this.

The purpose of this post is to point you to the instructions, talk about how I set mine up, and discuss my current workflow, since that's something I did have to do some thinking about.

Technical information

If you’re considering making your own digital garden, it’s very easy to do—you don’t even need to know how to code. My digital garden was created using a template; check out this step-by-step guide explaining how to set this up from scratch. Though I followed these instructions on YouTube to set it up (there's also a text version of the instructions), which were even simpler.

It was speedy to set up and it was free. The garden is hosted on GitHub, so I’m not even paying a hosting fee.

Okay, technically I paid $8 to Namecheap to get the domain name of chrisdigitalgarden.com. But I didn’t have to do that. I could've just stayed with the Netlify subdomain. But I love collecting domain names, apparently.

Alright, that’s not actually why I bought the domain. I purchased it as a hedge against link rot. If I ever move to a different solution for hosting this garden, I want to be able to keep the same domain name (rather than linking to everything under the Netlify subdomain and then breaking those links). That way, I can link to this from my blog without worrying about creating a trail of dead links. (You know, as long as I keep paying the $8ish/year subscription for the domain.)

There are plenty of other ways to set one up! For example, this post by Tom Critchlow talks about making a digital garden using Jekyll and GitHub, though it's not quite right for my purposes because of how I use Obsidian.

My workflow

Like I mentioned yesterday, I use Obsidian for my notes, which are all formatted and stored as markdown files.

I could have launched this digital garden using Obsidian Publish, but that costs $8/month. I already pay not-insignificant monthly hosting fees for my website and podcast, so I wasn’t exactly eager to add to that.

Also, I wanted a more manual solution. Though you can apparently pick and choose which notes you want to make public when using Obsidian Publish, that just felt like . . . too much room for error . . . for me, since I have plenty of personal notes in my vault.

Instead, I went with this approach:

  1. I made a folder in my Obsidian vault called “evergreen-to share”
  2. When I’ve cleaned a note up enough that I feel good about sharing it, I move the markdown file there.
  3. When I'm ready to update the garden, I sort that folder by date modified, identify which notes I’ve changed or added since the last update, and then copy them into the local GitHub folder.
  4. I push out the update using the GitHub desktop app.

And that's it! Very easy. It took me under an hour to set up my digital garden.