The Complete Markdown Tutorial#
What is Markdown?#
Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents.
Why Use Markdown?#
There are several compelling reasons to use Markdown:
One of possibility of necessity but powerful enough to out compete other competitors (Or historical legacies)
[Why does a exhausting-posibility language exists]: futureLinks
Basic Syntax#
Headings#
Headings are created by adding number signs (#
) before your heading text. The number of #
symbols indicates the heading level:
|
Note: Don’t forget to add a space between the #
and your text!
Text Formatting#
Bold#
To make text bold, add two asterisks or underscores before and after the text:
|
Italic#
For italic text, use a single asterisk or underscore:
|
Bold and Italic#
To make text both bold and italic, use three asterisks or underscores:
|
Strikethrough#
To strike through text, use two tildes:
|
Lists#
Unordered Lists#
Create unordered lists using asterisks, plus signs, or hyphens:
|
Note: Don’t forget to add a space after the list marker!
Ordered Lists#
For ordered lists, use numbers followed by periods:
|
You can also use just the number 1 for all items, and Markdown will automatically number them correctly:
|
Nested Lists#
Create nested lists by indenting items:
|
Links#
Create links by wrapping the link text in brackets and the URL in parentheses:
|
To display the URL itself, you can simply write it out or wrap it in angle brackets:
|
Links with Titles#
Add a title (tooltip) to your link by adding a title attribute in quotes:
|
Images#
Insert images with an exclamation mark, followed by alt text in brackets, and the image path in parentheses:
|
You can also add a title to the image:
|
Blockquotes#
Create blockquotes with the greater-than symbol:
|
Nested Blockquotes#
|
Code#
Inline Code#
For inline code, wrap the text in backticks:
|
Code Blocks#
Create code blocks by indenting text with four spaces or a tab:
|
Horizontal Rules#
Create horizontal rules with three or more asterisks, hyphens, or underscores:
|
Extended Syntax#
These elements extend Markdown’s capabilities but may not be supported by all applications.
Tables#
Create tables using pipes and hyphens:
|
Alignment#
Control column alignment with colons:
|
Real life examples#
|
|
|
Footnotes#
Add footnotes with a caret and identifier in brackets, then define the footnote later:
|
Definition Lists#
Some Markdown implementations support definition lists:
|
Emoji#
Some Markdown applications support emoji shortcodes:
|
Highlight#
Some Markdown implementations support text highlighting:
|
Subscript and Superscript#
Some Markdown implementations support subscript and superscript:
|
Markdown Applications#
There are numerous applications that support Markdown:
Text Editors and IDEs#
- Visual Studio Code
- Atom
- Sublime Text
- Vim/Neovim
Dedicated Markdown Editors#
- Typora
- Obsidian
- iA Writer
- Markdown Monster
Note-Taking Applications#
- Joplin
- Notion
- Bear
- Obsidian
Online Markdown Editors#
- Dillinger
- StackEdit
- HackMD
- Markdown Live Preview
Markdown Flavors#
Different applications implement slightly different versions of Markdown, known as “flavors”.[5] Some common flavors include:
- CommonMark: A standardized specification of Markdown
- GitHub Flavored Markdown: Used on GitHub, adds features like tables and task lists
- MultiMarkdown: Adds support for tables, footnotes, and more
- Markdown Extra: Adds features like tables, fenced code blocks, and definition lists
Tips for Working with Markdown#
Escaping Characters#
If you want to display a character that is normally used for Markdown formatting, you can escape it with a backslash:
|
Combining HTML with Markdown#
Most Markdown processors allow you to use HTML within your Markdown documents:
|
Note that within HTML blocks, Markdown formatting is not processed.[2]