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:
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
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
- My sub-ordered item 1
- My sub-ordered item 2
You'd like to add an image
![Alt text](http://image_url)
Here's the representation
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."