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~~.
|