199 lines
4.1 KiB
Plaintext
199 lines
4.1 KiB
Plaintext
---
|
||
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
|
||
`<addr>` element here instead.
|
||
```
|
||
|
||
I think you should use an
|
||
`<addr>` 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~~.
|