Why you should start using Markdown today

What is Markdown?

Like HTML, Markdown is a Markup language. In comparison to HTML, Markdown is lighter and easier to write and read. Markup languages allow you to annotate your text using tags, then those tags are processed and displayed as styled text.

Here is a quick example: You would like some bold text. In order to display bold text, you have to tell your text editor to display it this way. To do so, you will have to write the sentence decorated with double underscores: __Here is my bold text__ and you will get: Here is my bold text.

Where do we use it?

Markdown is pretty cool since it creates text files making it portable unlike those binary file such as Microsoft Word. This means that you can open Markdown files with any text editor and have nothing to download in order for your computer to read it.

I mostly use Markdown to take notes at school because it's really easy and quick to use. So, if you are a student, Markdown might be usefull for you too! Aside from that, there are so many more ways to use it!

For example, we often use it to write our README files in projects. Web-based versioning tools like GitLab or GitHub offers a formatted view of this Markup language so that makes it much more interesting to use it.

There are also some tools like MiddleMan or Jekyll that allows you to create a static generated blog with Markdown posts. I personally use Pelican for this blog. Basically, you set your website properties once, then you write your Markdown articles and the static blog generator will create HTML pages with your articles and pages.

Plus, this is something I have recently discovered and it's awesome. It is possible to download a browser extension named Markdown here and it lets you write Markdown messages with your email service and then styles it for you.

Finally, this is probably my favorite way to use Markdown. There's this really great tool named pandoc and I love it! This tool can convert from one markup format to another one. I think you've guessed it! It does convert Markdown. You can convert from Markdown to LaTeX, HTML, PDF, Word, etc. The possibilities are almost endless. With the help of this tool I have achieved nice things like, recently, I had to send personalized letters to over 250 people. In order to do this, I wrote the letter in Markdown one time, created a script that replaced a placeholder by the name and address of a person and then, with pandoc, converted it to a PDF file to finally send it.

Conclusion

So now you would like to try Markdown but don't know where to start. There's a simple way to try it without installing anything. First, have a look at my how to use it and then head to Dillinger.io.

I've been using Markdown for quite a while now and I'm discovering many new ways to use it everyday. If you've learn new tips about it that are not list up here, don't be shy to share them in the comment!

How to use it

Here is an online Markdown cheat sheet. If you'd like, you can also download a version of my cheat sheet (created with pandoc!) by registering to my newsletter right here:

Get your free Markdown cheat sheet

You'd like to write headers

# This is heading 1 (the most important one)

## This is heading 2

...

##### This is headding 5

###### This is headding 6 (the less important one)

Here's the representation

This is heading 1 (the most important one)

This is heading 2

...

This is headding 5
This is headding 6 (the less important one)

You'd like to create emphasis

_italic_ or *italic* and  __bold__ or **bold** and  
***italic and bold*** or  ___italic and bold___  

Here's the representation

italic or italic and bold or bold and
italic and bold or italic and bold


You'd like to add Links

[The showing text](http://the_url)

Here's the representation

The showing text


You'd like to add a blockquote

> This is my  
> blockquote.

Here's the representation

This is my
blockquote.


You'd like to create Lists

- My unordered item 1
- My unordered item 2
+ My unordered item 3
* My unordered item 4
    * My sub-unordered item 1


1. My ordered item 1
2. My ordered item 2
3. My ordered item 3
    1. My sub-ordered item 1
    2. My sub-ordered item 2

Here's the representation

  • My unordered item 1
  • My unordered item 2
  • My unordered item 3
  • My unordered item 4

    • My sub-unordered item 1
  • My ordered item 1

  • My ordered item 2
  • My ordered item 3
    1. My sub-ordered item 1
    2. My sub-ordered item 2

You'd like to add an image

![Alt text](http://image_url)

Here's the representation

Alt text


You'd like to create tables

Header 1 | Header 2
--- | ---
content 1 | content 2


| Header 1 align right | Header 2 align center |
| -------------------: | :-------------------: |
| cell align right     | cell align center     |

Here's the representation

Header 1 Header 2
content 1 content 2
Header 1 align right Header 2 align center
cell align right cell align center

You'd like to add a line separator

---
***
___

Here's the representation





You'd like to add code

`inline code`

```
multiple lines of code
code blocks
(can also be achieved with four spaces or
one tabulation at the beginning of the code)
```

```python
def my_fun():
    language = "You can also specify a language to have highlights."
```

Here's the representation

inline code

multiple lines of code
code blocks
(can also be achieved with four spaces or
one tabulation at the beginning of the code)
def my_fun():
    language = "You can also specify a language to have highlights."