An amazing note-taking system with Markdown and Git, Part 2
Tags: productivity, programming, learning
Published: 2021-10-21 17:24:29

---
title: An amazing note-taking system with Markdown and Git, Part 2
published: true
description: I've taken notes over the years with everything from plain text files to heavy apps like OneNote but for me this just blows everything else away.
series: An amazing note-taking system with Markdown and Git
tags: productivity,programming,learning
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/84vqzavr3lu0wnj3jyni.jpg
---

In [Part 1 of this series](https://dev.to/scottshipp/an-amazing-note-taking-system-with-markdown-and-git-part-1-48b1), I explained why I gave up paper notebooks, email, and note-taking software like OneNote over the years. I had taken up with plain text files when we last left off. But I'd like to also make a few honorable mentions. 

## Other things I tried 

🔬 Consider why people take notes for a moment. "Notes" are actually not "notes" at all at the end of the day. They are actually records of conversations. Reminders. Encyclopedia entries. To do lists. Time tracking devices. And a dozen other things.

If you've followed the "productivity obsession" of the internet age, then you know there are little pieces of software for each of these specific needs. Necessity is the mother of invention. And so we have time tracking software like [Toggl](https://toggl.com/). And we have reminder software like [Remember the milk!](https://www.rememberthemilk.com/) And we have wikis like [Confluence](https://www.atlassian.com/software/confluence) or blogs like [WordPress](https://wordpress.com).

It may not surprise you to find out that over 15+ years, I tried all of these things and more. There are various small reasons why I abandoned each one in turn, but there is one huge reason that ultimately kept me from adopting them.

## The Walled Garden Problem

A Walled Garden is both a [real thing](https://en.wikipedia.org/wiki/Walled_garden) and a [useful metaphor](https://en.wikipedia.org/wiki/Closed_platform) for any closed platform.

![A terrarium viewed from above](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/se8wt5rehn8zfu3d2y63.jpg)

The problem with a closed platform like any of the above is that once you start using them, you sink cost into them the longer you do. Any content you enter becomes more and more entrenched over time. That content becomes no longer portable.

It is imprisoned.

Sometimes it is only _effectively captured,_ because it cannot be moved without expending such a large effort that it isn't worth moving it. But, often, it is actively captured by companies interested in profits, who use legal agreements, proprietary file formats, digital rights management platforms, and more to retain control over your content.

And sometimes you lose all that content entirely. I have experienced firstand what it is like for HP to buy out my online email provider and end my email address. I know the dangers of these systems firsthand. When my email address went away, so did my associated account on Facebook, because I couldn't reset the password or even change the address because it couldn't receive a confirmation email. And good luck trying to get any support from Facebook about that . . . because fraud.

So walled gardens are a huge problem and _portability_ of any given solution has to take this problem into account. Besides that, what you end up paying over the years into certain platforms that are little more than repackaged open source can sting your conscience, especially when they don't give back to the community that made them possible.

So, I generally like to avoid walled gardens. That doesn't mean I think you should avoid them too. Nor does it mean that I always do, but it's worth pointing out that walled gardens have a cost, in both the small and the large.

So that brings us to the idea of standards.

## The Markdown standard

While I was taking plain-text notes over the years, people were creating a wonderful thing: _markdown_. [Markdown](https://daringfireball.net/projects/markdown/syntax) is, basically, a minimalist text-formatting scheme. It is one of those ideas that is so delicious that it found a wide audience fast. The adoption of markdown has been nothing more than spectacular. And its benefits are inarguable.

At the end of [Part 1](https://dev.to/scottshipp/an-amazing-note-taking-system-with-markdown-and-git-part-1-48b1) I talked about two major drawbacks I had with paper notes:

- Cannot link to anything in the outside world (no clickable URLs)
- No images, audio, video, etc.

I had previously considered writing notes in HTML but&mdash;let's be honest&mdash;that is entirely impractical. So once I started using Markdown for other things, it didn't take long for me to want to put it to work in my notes. For the small price of adopting some kind of "compilation" stage in my notes, whereby they get compiled from Markdown to HTML, I could take notes that had all of the following features:

- portability (thanks to standards!)
- clickable links
- code snippets with syntax highlighting in any language
- images, including screen shots and photos of whiteboard drawings
- audio or video embedding

I also really like the ability to 

- have
- bulleted
- lists,

The ability to

> quote any text I want,

and so forth.

## But how?

So that brought me to the question of how to achieve this "compilation stage." Stay tuned for part 3 of this series, as that's what I will cover next.