--- title: 'Markdown Guide' date: '2019-10-11' tags: ['github', 'guide'] draft: false summary: 'Markdown cheatsheet for all your blogging needs - headers, lists, images, tables and more! An illustrated guide based on Github Flavored Markdown.' --- # Introduction Markdown and Mdx parsing is supported via `unified`, and other remark and rehype packages. `next-mdx-remote` allows us to parse `.mdx` and `.md` files in a more flexible manner without touching webpack. Github flavored markdown is used. `mdx-prism` provides syntax highlighting capabilities for code blocks. Here's a demo of how everything looks. The following markdown cheatsheet is adapted from: https://guides.github.com/features/mastering-markdown/ # What is Markdown? Markdown is a way to style text on the web. You control the display of the document; formatting words as bold or italic, adding images, and creating lists are just a few of the things we can do with Markdown. Mostly, Markdown is just regular text with a few non-alphabetic characters thrown in, like `#` or `*`. # Syntax guide Here’s an overview of Markdown syntax that you can use anywhere on GitHub.com or in your own text files. ## Headers ``` # This is a h1 tag ## This is a h2 tag #### This is a h4 tag ``` # This is a h1 tag ## This is a h2 tag #### This is a h4 tag ## Emphasis ``` _This text will be italic_ **This text will be bold** _You **can** combine them_ ``` _This text will be italic_ **This text will be bold** _You **can** combine them_ ## Lists ### Unordered ``` - Item 1 - Item 2 - Item 2a - Item 2b ``` - Item 1 - Item 2 - Item 2a - Item 2b ### Ordered ``` 1. Item 1 1. Item 2 1. Item 3 1. Item 3a 1. Item 3b ``` 1. Item 1 1. Item 2 1. Item 3 1. Item 3a 1. Item 3b ## Images ``` ![GitHub Logo](https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png) Format: ![Alt Text](url) ``` ![GitHub Logo](https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png) ## Links ``` http://github.com - automatic! [GitHub](http://github.com) ``` http://github.com - automatic! [GitHub](http://github.com) ## Blockquotes ``` As Kanye West said: > We're living the future so > the present is our past. ``` As Kanye West said: > We're living the future so > the present is our past. ## Inline code ``` I think you should use an `` element here instead. ``` I think you should use an `` element here instead. ## Syntax highlighting Here’s an example of how you can use syntax highlighting with [GitHub Flavored Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/): ```` ```js:fancyAlert.js function fancyAlert(arg) { if (arg) { $.facebox({ div: '#foo' }) } } ``` ```` And here's how it looks - nicely colored with styled code titles! ```js:fancyAlert.js function fancyAlert(arg) { if (arg) { $.facebox({ div: '#foo' }) } } ``` ## Footnotes ``` Here is a simple footnote[^1]. With some additional text after it. [^1]: My reference. ``` Here is a simple footnote[^1]. With some additional text after it. [^1]: My reference. ## Task Lists ``` - [x] list syntax required (any unordered or ordered list supported) - [x] this is a complete item - [ ] this is an incomplete item ``` - [x] list syntax required (any unordered or ordered list supported) - [x] this is a complete item - [ ] this is an incomplete item ## Tables You can create tables by assembling a list of words and dividing them with hyphens `-` (for the first row), and then separating each column with a pipe `|`: ``` | First Header | Second Header | | --------------------------- | ---------------------------- | | Content from cell 1 | Content from cell 2 | | Content in the first column | Content in the second column | ``` | First Header | Second Header | | --------------------------- | ---------------------------- | | Content from cell 1 | Content from cell 2 | | Content in the first column | Content in the second column | ## Strikethrough Any word wrapped with two tildes (like `~~this~~`) will appear ~~crossed out~~.