LearnLearning Markdown: My Gateway into Coding

Jim Withington
writes on August 3, 2015

What made you start coding?

I love people’s coding origin stories. I get excited hearing how someone got into coding because they got an iPhone and immediately wanted to create an app for it, or spent their childhood programming in BASIC and never stopped, or wanted to create something to make their day job easier and so they built it.

My origin story is a bit of a weird one. I got interested in coding because of my love for Markdown.


Why Markdown?

There’s a basic guide to Markdown on the Treehouse blog, and this isn’t going to be that. Instead, I’ll talk about the practical reasons I got into Markdown, the unexpected results of using Markdown so much, and some of my favorite Markdown tools.

Markdown files can be magically turned into HTML

As Gruber writes, “Markdown is a text-to-HTML conversion tool for web writers.” This functionality can really help you to write now, code later. You can include specific HTML if needed, but primarily, Markdown can help you separate your coding brain from your writing brain, and for many people that’s a big help!

It also helps you make your Treehouse forum posts prettier and more functional (be sure to click the movie in the right sidebar!). And it’s even how I wrote most of this post!

Markdown apps: not word processors.

This is the biggest reason that I use Markdown.

What would you rather see while writing? This?*

word-ick

Source: https://i-technet.sec.s-msft.com/dynimg/IC354409.jpg

 

Or this?

Screenshot 2015-07-29 21.47.25

If you’re writing, and you’re at all distractible like me, you’ll say the second one. A “distraction-free writing environment” has become a bit of a cliché , yet I can tell you that when I open up Byword in full screen it (second image, above), it puts me in writer mode. This is huge when you have a rockin’ laptop that is essentially the best distraction machine ever invented.

Markdown apps are essentially bare-bones text editors, and that’s a blessing for writers.

Markdown files are text files, and text files are of nearly negligible size.

I use Markdown to take notes: in meetings, when I need to dump all the things on my mind, when I have to work on a presentation . . . for anything. This has been true since January of 2013. Since then, I’ve created more than 1000 files.

Man, how can I store all of these?

Easy. On Dropbox. Or on the smallest flash drive I own. Heck, zip ’em up and email them to yourself, because all of those files only take up about 15 MB. That’s less space than the amount of selfies I take in a typical week. It’s crazy!

And it’s magic when you get a new computer, because….

Text files basically create a personal, easy to understand time capsule.

We have awesome computers and services now that can index our photos automatically and bring search to everything. As a bit of a packrat in life and my digital world, I appreciate the software folks and computer wizards who design this stuff. By using markdown/text files for so long, and using a specific method for naming my files, I have fun things happen like this every time I start creating a new note:

nvALT Screenshot

Here, I can tell that this past May I was writing client emails, and last year leading team meetings.

That example is kinda fun, but it gets even better when it comes to packing lists for travel, or trying to remember “did I blog about R.E.M. last year?” I can just super easily search for it! Store this stuff in a Dropbox folder and woo-hoo! Time Capsule!

Thinking like a Markdown writer helped me to think like a coder.

Learning how to set up headings and footnotes, figuring out why won’t this stupid thing won’t indent properly?!?!, Googling for help, reading Stack Overflow, or getting excited about a narrow thing I just learned. This is the kind of immersing myself in a topic that I do every time I’m fully invested in coding and learning to code.

But for me, it all started with Markdown.


Some of my favorite tools

I’ve got a tried and true trio that works very well for me on my Mac: Byword, nvAlt, and Dropbox. Once things are written, I finish ’em with the amazing Marked 2.

Byword

Full screen. Beautiful default font in two choices (white type on black, or black type on white). A bunch of keyboard shortcuts that help out but aren’t necessary. Text color that changes slightly so that the markup is lighter that the text you’re trying to read, like so:

Text highlighting in Byword

Byword is the best way I’ve found to hole myself up mentally and get something written. As you can see, I even wrote this post in Byword!

nvALT

nvALT is one of those killer apps that keeps me on a Mac, since there’s nothing quite the same in Windows. Briefly, in nvALT when you start typing a word in the search bar, it tries to find your file. If that word isn’t found, hit enter, and now you have a new text file with the word you typed as the filename.

It’s amazing what you can do with something so deceptively simple – and this tool helps make a searchable “time capsule” like I mentioned above.

nvALT is made by Brett Terpstra and Elastic Threads, and is a free fork of another program named Notational Velocity. nvALT is free, but Terpstra’s working on a new, commercial version. I can’t wait to give him my money.

Dropbox

The app that’s not really an app. Take advantage of the minuscule size of text files to make sure that all the stuff you write gets synced everywhere. Super rad bonus feature: if you store a file as a .md file and share the link, it will display the rendered Markdown, instead of the raw Markdown. Woo!

Marked 2

I can hear you over there saying, “Sure Jim, that’s all fine and good, but my coworkers expect me to send them .docx files”. Well, you’re in luck!

Marked 2 takes your amazing Markdown, renders it in a preview window, and then allows you to export it as .html, .pdf, .docx, and other files. Some apps (including Byword!) have some of these abilities, but no app exports Markdown as close to flawlessly as Marked 2. Also made by Terpstra, Markdown superstar.

screenshot of byword and marked 2

Byword on the left / Marked 2 rendering on the right

Miscellany

  • 1Writer for iPhone. There’s an iOS version of Byword but it’s always sounded too powerful for what I want on my phone: an app that can render markdown and search all of those nvALT / Dropbox files. This one works well!
  • Drafts. For the person who just wants to start writing in Markdown and then send that text elsewhere. This app is an odd bird that’s covered well by Federico and Merlin.
  • Draft on Android. Back when I had my HTC One, I really liked to use Draft. I have to admit, it’s really similar to Drafts, which makes me a bit uncomfortable, but it works!
  • Dillinger. This is a “cloud-enabled, mobile-ready, offline-storage, AngularJS powered HTML5 Markdown editor.” Type on the left, and it renders on the right. And, of course, you can export as HTML and .pdf. Great if you have a Chromebook, work on Windows or just want to go fully cloud-enabled!
  • The MacSparky Markdown Field Guide shows off the collective knowledge David Sparks and Eddie Smith bring to the conversation. If you want to level up to becoming a Markdown power user, this is the place to go!

I hope this inspires you to your own Markdown workflow-of-awesomeness!  Here’s a link if you want to see a draft of this post rendered on Dropbox!

4 Responses to “Learning Markdown: My Gateway into Coding”

  1. Gabriel Garrido on August 4, 2015 at 9:18 am said:

    How does nvALT fit in your workflow? I get that you write in Byflow and store them in Dropbox, so what’s up with nvALT?

    • Jim Withington on August 4, 2015 at 10:00 am said:

      Great question! I know I wasn’t super clear about that.

      I use it mainly for a couple of things:

      1. To quickly create a file and jot something down. Byword is great, but believe it or not, sometimes I want something even more minima, and nvALT opens quickly, saves filenames automatically, and doesn’t require me to save before closing. If I find myself getting long-winded, though, there’s a keyboard shortcut to open the nvALT note in Byword.

      2. To search through my files afterwards. This is huge. I can type in a date or “team meeting” or “blogpost” and find all of those things.

      One last thing: when I’m really, **really** getting into it, I will install Terpstra’s Markdown Service Tools:

      http://brettterpstra.com/projects/markdown-service-tools/

      Combining those with nvALT can lead you down yet another rabbit hole. 🙂

      Enjoy!

  2. I also love Markdown and have been using ByWord to journal for years. That’s part of the reason I currently build websites for clients using [Statamic](http://statamic.com/). Like many content management systems, you can write or edit content in Markdown. Unlike most CMSs, it stores that Markdown content in flat files which you can edit directly. Pretty great.

    (**Not** paid for by Statamic )

    • Jim Withington on August 3, 2015 at 3:30 pm said:

      Sean, thanks for the tip! I haven’t heard of Statamic before; I’ve been a user of Ghost Pro for about a year now, and love hearing about new Markdown CMSes out there. ?

Leave a Reply

Learning to code can be fun!

Get started today with a free trial and discover why thousands of students are choosing Treehouse to learn about web development, design, and business.

Learn more