Learning Markdown
Why Learn Markdown?
That is a great question.
Consider this a “Part 1” to a mulit-part blog, as there is several answers and questions I want to address.
I started to commit myself to learning Markdown in general and using it. Mostly, I wanted to learn it for note taking. I know everyone has their own methods and their own thing regarding notes. My reason is mostly because of personal habits, so let me digress here for a moment.
I am just a simple programmer, and I like to write most of my notes digitally for long term use. I will write them down things on a steno pad with a pencil for meetings and such. I love to illustrate and conceptualize and visualize using dry-erase boards. I am not much of a UI / UX programmer, so I try to leverage dry-erase to visualize (A) what I want from a UI/UX perspective and (B) to visualize what can only be described as IT Existentialism (i.e. - talking about SQL structures or data flow or functions that connect to users…things that aren’t tangible but IT spends tons of time doing). In the past, I have used OneNote, which was great. I have used simple text editors to save a simple TXT file, I have used MS Word and even MS Excel. At one point, I started a SharePoint blog and Wiki and would use MS Word connected to those and write and publish to my companies internal website. I try to notate my code as much as possible (but not too much). I also have been more about using text editors lately such as Atom.io. When I used MS Word and such, I found myself belaboring too much on formatting and consistency. I can be a bit OCD and ADD, so my consistency with formatting while get completely out of whack and it will bother me as I spend hours trying to fix it all. Not a good way to be productive at all.
I have also found myself wanting to document my projects and my exploits more in general. So I have been pairing down on my in-document programming notes (which in my early days programming was my way of learning and reminding myself). While that has been paired down, I want to make sure I know or can reference why and what I did later on.
In comes Markdown…which I heard about a few years ago, but never heard of anyone using. At my current job, my boss and a few other people asked me to create text boxes on our webpage for Markdown. I was like “sure thing”, but no one knew how to use Markdown, so I ended up switching it all over to CKEditor. At the time as I was adding those Markdown input boxes, I had to learn Markdown in order to test it and I only learned enough to test and didn’t commit anything. Couple that with a greater desire to be a better programmer and wanting more real documentation for myself. Many of us in the tech world have to wear multiple hats, and one of those hats is being a Project Manager for our own projects and then also being a Business Analyst to talk the lingo of our customers (internal and external), while also talking about the Project in PM terms and talking about the technical details in terms the customer will understand. That is difficult.
This is where I want to have better notes and documentation. A simple document for my reference is great. Add in something that others can understand, possibly to pass on to other IT people (internally or externally) and definately something that customers could navigate with maybe some help. Though customers won’t always see the document, it can help greatly. Additionally, IF I really wanted to give something to the customers, I could make an awesome PowerPoint deck and that could be their reference. BUT the source of that PowerPoint would be a copy of my documentation, and I know I can create some killer PowerPoints (when not programming, a previous job had me do that about 50% of the time for the company execs).
You still didn’t answer the question….WHY?
Cliffnotes of above…I have a penchant for overthinking things and spending too much time in the details (or what could become weeds) and I want to spend more time being productive. I needed something with little to no frills, something that I wasn’t going to click all over to get what I wanted and I could just type away, or copy-paste away. Markdown seems to fit that bill.
I have committed myself to learning it and using it, while also committed to being more organized, more documented and getting a silly verbose blog out there. Committing to doing the same thing across the board, using Markdown, makes it easier to learn and do these things and switch between each. Writing is great for you, and making a habit of it helps keep you organized and focused. I write code all day long, but it doesn not always help my focus and organization, as I am not always trying to do that. Wriging a blog will hopefully keep me organized and focused while enhancing my programming skills.
Several applications
Additionally, I wanted a nice place to store and sync my notes in general. I will start at work on my desktop and then come home and do it on my laptop, then maybe on my phone before I go to sleep. I have also switched jobs a few times in the past few years, had a couple different home computers and tried to do the whole “tablet” thing (sorry, couldn’t get into it). This will help me sync across all areas.
Sales-pitch
As a sales-pitch to others reading this and asking “Why should I learn Markdown?”, here is my simple answer.
Many tools, many applications, many blogging platforms, many online forms and more are going to Markdown.
Markdown is simple.
Markdown is quick and easy to learn.
Markdown translates to HTML nicely and quickly.
Markdown is readable without formatting.
Markdown, being simple and readable, encourages organization of writing and thoughts.
Markdown is probably probably already in your favorite text editor or writer, and you don’t have to switch to something new to learn.
Basics
There are a ton of places out there
I have found a few “blog posts” with getting started with Markdown and such. However, many of them I didn’t find that useful. This first one I did as its like a one page guide. This article also has specifics to what’s called “github flavored markdown” or “gfm”. At the core, the github flavored markdown is the same as regular markdown. It has a few additions and a few minor changes. However, learning from this markdown blog and taking out the “Emoji” secion, the “Issue references” and “Username @ mentions” and “SHA References” section are the main differences. There is a whole section on “GitHub Flavored Markdown” which these sections are part of, but some of those subsections, such as strikethrough, tables, and syntax highlighting aren’t that specific to GFM. https://guides.github.com/features/mastering-markdown/
Although the above is under the “guides” area of Github, the below links are more of guides for using Markdown. https://help.github.com/categories/writing-on-github/ https://help.github.com/articles/working-with-advanced-formatting/
You can find a few articles on Medium which I have found to be hit or miss, probably as much as anyone would find my blogs, but each person is different and this blog, as well as any, is not always for the reader.
With Markdown you create a document as you normally would. However, the change is that when you make “headers” (you know the big bold blocked lines of text usually denoting a ‘section’ or something like that) are represented by starting with a pound symbol ( # ).
For web developers, 1 # would be an H1 tag, 2 # would be an H2 and so on.
What this means for the common person an H1 is usually the title of the document and the largest of all letters on a page. Then as you go up in number to H6, or 6 #’s as in ###### H6 Test here, then the size of the text gets smaller but it remains bold. Typically people have something like an H1 for the title, H2 for major article sections, H3 for description of the page and maybe an H4 for subsections. More on that in another post.
After the headers, would be bold words by using ** or __ before and after the word, and emphasis or italics by using _ or * before and after the word. That is a double underscore or asterick before and after the word for BOLD and a single asterick or underscore before and after the word for italic / emphasis. These are not interchangable in the same block, so you can’t start with a double asterick and end with a double underscore. Meaning **this won't work__. You must do it like **this** or like _this_.. These can be combined however, so you can bold and italics a section by using both. For this reason, many people will arbitratily pick one set and say to themselves, “astericks are always double and bold, and underscores are always single and italics.”.
Then users can create a list (unordered and numbered/ordered), table, links, lines and more. Again, organization for notes and writing.
More on all those details another post.
Look for the other parts of this series of posts coming soon…
- Part 2 - Blogging with Atom (Getting ready to blog and write)
- Part 3 - Blogging with Markdown (Basic Markdown and my organization)
- Part 4 - Markdown Writing Tools (Review of blogging and writing tools)
- Part 5 - Markdown Syntax (Basic to Advanced, GFM and others)
- Part 6 - Additional Resources and tools
- Part 7 - Using Hugo for a Markdown Blog
- Part 8 - Using Netlify to Blog
- Part 9 - Other Markdown Blogs and Tools (ie - Jekyll)
There will probably be more as I explore more, but this is what I have started to write so far.
Thank you all for reading, and hope this helps someone. Cheers!