mirror of
https://github.com/He4eT/oddsquat.git
synced 2026-05-05 04:47:25 +00:00
328 lines
9.7 KiB
Markdown
328 lines
9.7 KiB
Markdown
---
|
||
|
||
layout: post
|
||
|
||
lang: 'en'
|
||
date: '2020-10-30'
|
||
|
||
year: '2020'
|
||
section: 'posts'
|
||
|
||
title: 'markdown test page'
|
||
description: 'A test document written using the Markdown language.'
|
||
|
||
---
|
||
|
||
# Markdown: Syntax
|
||
|
||
Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
|
||
|
||
Readability, however, is emphasized above all else. A Markdown-formatted
|
||
document should be publishable as-is, as plain text, without looking
|
||
like it's been marked up with tags or formatting instructions. While
|
||
Markdown's syntax has been influenced by several existing text-to-HTML
|
||
filters — including [Setext](http://docutils.sourceforge.net/mirror/setext.html), [atx](http://www.aaronsw.com/2002/atx/), [Textile](http://textism.com/tools/textile/), [reStructuredText](http://docutils.sourceforge.net/rst.html),
|
||
[Grutatext](http://www.triptico.com/software/grutatxt.html), and [EtText](http://ettext.taint.org/doc/) — the single biggest source of
|
||
inspiration for Markdown's syntax is the format of plain text email.
|
||
|
||
**Note:** This document is itself written using Markdown.
|
||
|
||
---
|
||
|
||
## Table Of Content
|
||
|
||
* [Block Elements](#block-elements)
|
||
* [Paragraphs and Line Breaks](#paragraphs-and-line-breaks)
|
||
* [Headers](#headers)
|
||
* [Blockquotes](#blockquotes)
|
||
* [Lists](#lists)
|
||
* [Code Blocks](#code-blocks)
|
||
* [Tables](#tables)
|
||
* [Span Elements](#span-elements)
|
||
* [Links](#links)
|
||
* [Emphasis](#emphasis)
|
||
* [Code](#code)
|
||
|
||
---
|
||
|
||
## Block Elements
|
||
|
||
### Paragraphs and Line Breaks
|
||
|
||
A paragraph is simply one or more consecutive lines of text, separated
|
||
by one or more blank lines. (A blank line is any line that looks like a
|
||
blank line — a line containing nothing but spaces or tabs is considered
|
||
blank.) Normal paragraphs should not be indented with spaces or tabs.
|
||
|
||
The implication of the "one or more consecutive lines of text" rule is
|
||
that Markdown supports "hard-wrapped" text paragraphs. This differs
|
||
significantly from most other text-to-HTML formatters (including Movable
|
||
Type's "Convert Line Breaks" option) which translate every line break
|
||
character in a paragraph into a `<br />` tag.
|
||
|
||
When you *do* want to insert a `<br />` break tag using Markdown, you
|
||
end a line with two or more spaces, then type return.
|
||
|
||
### Headers
|
||
|
||
Headers are lines that start with the `#` symbol.
|
||
The number of characters defines the header level,
|
||
from one (`#`) for `<h1>` to six (`######`) for `<h6>`.
|
||
|
||
### Blockquotes
|
||
|
||
Markdown uses email-style `>` characters for blockquoting. If you're
|
||
familiar with quoting passages of text in an email message, then you
|
||
know how to create a blockquote in Markdown. It looks best if you hard
|
||
wrap the text and put a `>` before every line:
|
||
|
||
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
|
||
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
|
||
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
|
||
>
|
||
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
|
||
> id sem consectetuer libero luctus adipiscing.
|
||
|
||
Markdown allows you to be lazy and only put the `>` before the first
|
||
line of a hard-wrapped paragraph:
|
||
|
||
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
|
||
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
|
||
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
|
||
|
||
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
|
||
id sem consectetuer libero luctus adipiscing.
|
||
|
||
Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
|
||
adding additional levels of `>`:
|
||
|
||
> This is the first level of quoting.
|
||
>
|
||
> > This is nested blockquote.
|
||
>
|
||
> Back to the first level.
|
||
|
||
Blockquotes can contain other Markdown elements, including headers, lists,
|
||
and code blocks:
|
||
|
||
> ### Here's a list
|
||
>
|
||
> 1. This is the first list item.
|
||
> 2. This is the second list item.
|
||
>
|
||
> ### Here's an example code block
|
||
> ```
|
||
> const PI = 3.1415`
|
||
> ```
|
||
|
||
Any decent text editor should make email-style quoting easy. For
|
||
example, with BBEdit, you can make a selection and choose Increase
|
||
Quote Level from the Text menu.
|
||
|
||
### Lists
|
||
|
||
Markdown supports ordered (numbered) and unordered (bulleted) lists.
|
||
|
||
Unordered lists use asterisks, pluses, and hyphens — interchangably
|
||
— as list markers:
|
||
|
||
* Red
|
||
* Green
|
||
* Blue
|
||
|
||
is equivalent to:
|
||
|
||
+ Red
|
||
+ Green
|
||
+ Blue
|
||
|
||
and:
|
||
|
||
- Red
|
||
- Green
|
||
- Blue
|
||
|
||
Ordered lists use numbers followed by periods:
|
||
|
||
1. Bird
|
||
2. McHale
|
||
3. Parish
|
||
|
||
It's important to note that the actual numbers you use to mark the
|
||
list have no effect on the HTML output Markdown produces. The HTML
|
||
Markdown produces from the above list is:
|
||
|
||
If you instead wrote the list in Markdown like this:
|
||
|
||
1. Bird
|
||
1. McHale
|
||
1. Parish
|
||
|
||
or even:
|
||
|
||
3. Bird
|
||
1. McHale
|
||
8. Parish
|
||
|
||
you'd get the exact same HTML output. The point is, if you want to,
|
||
you can use ordinal numbers in your ordered Markdown lists, so that
|
||
the numbers in your source match the numbers in your published HTML.
|
||
But if you want to be lazy, you don't have to.
|
||
|
||
To make lists look nice, you can wrap items with hanging indents:
|
||
|
||
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
|
||
viverra nec, fringilla in, laoreet vitae, risus.
|
||
* Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
||
Suspendisse id sem consectetuer libero luctus adipiscing.
|
||
|
||
But if you want to be lazy, you don't have to:
|
||
|
||
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
|
||
viverra nec, fringilla in, laoreet vitae, risus.
|
||
* Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
||
Suspendisse id sem consectetuer libero luctus adipiscing.
|
||
|
||
List items may consist of multiple paragraphs. Each subsequent
|
||
paragraph in a list item must be indented by either 4 spaces
|
||
or one tab:
|
||
|
||
1. This is a list item with two paragraphs. Lorem ipsum dolor
|
||
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
|
||
mi posuere lectus.
|
||
|
||
Vestibulum enim wisi, viverra nec, fringilla in, laoreet
|
||
vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
|
||
sit amet velit.
|
||
|
||
2. Suspendisse id sem consectetuer libero luctus adipiscing.
|
||
|
||
It looks nice if you indent every line of the subsequent
|
||
paragraphs, but here again, Markdown will allow you to be
|
||
lazy:
|
||
|
||
* This is a list item with two paragraphs.
|
||
|
||
This is the second paragraph in the list item. You're
|
||
only required to indent the first line. Lorem ipsum dolor
|
||
sit amet, consectetuer adipiscing elit.
|
||
|
||
* Another item in the same list.
|
||
|
||
To put a blockquote within a list item, the blockquote's `>`
|
||
delimiters need to be indented:
|
||
|
||
* A list item with a blockquote:
|
||
|
||
> This is a blockquote
|
||
> inside a list item.
|
||
|
||
To put a code block within a list item, the code block needs
|
||
to be indented with list item indentation in mind:
|
||
|
||
* A list item with a code block:
|
||
|
||
```
|
||
code goes here
|
||
code goes here
|
||
```
|
||
|
||
### Code Blocks
|
||
|
||
Pre-formatted code blocks are used for writing about programming or
|
||
markup source code. Rather than forming normal paragraphs, the lines
|
||
of a code block are interpreted literally. Markdown wraps a code block
|
||
in both `<pre>` and `<code>` tags.
|
||
|
||
```
|
||
tell application "Foo"
|
||
beep
|
||
end tell
|
||
```
|
||
|
||
Regular Markdown syntax is not processed within code blocks. E.g.,
|
||
asterisks are just literal asterisks within a code block. This means
|
||
it's also easy to use Markdown to write about Markdown's own syntax.
|
||
|
||
```
|
||
## This is **not** a Markdown
|
||
```
|
||
|
||
### Tables
|
||
|
||
Markdown tables are created using pipes (|) to separate columns and hyphens (-) to define the header row. Here’s the basic structure:
|
||
|
||
1. Header Row: The first row contains column names.
|
||
2. Divider Line: The second row uses hyphens to separate the header from the data.
|
||
3. Data Rows: The rows below the divider contain the actual data.
|
||
|
||
| Name | Age | City |
|
||
|-------|-----|-------|
|
||
| Alice | 25 | New York |
|
||
| Bob | 30 | London |
|
||
|
||
You can style text inside Markdown table cells just like regular Markdown.
|
||
This includes making text bold, italic, monospaced, or adding links or code.
|
||
|
||
Column 1 | Column 2 | Column 3
|
||
--- | --- | ---
|
||
**Things** | _Don't_ | [Need](/)
|
||
To | *__Look__* | `Pretty`
|
||
|
||
You can align text in Markdown table columns to the left, right, or center by placing a colon (:) in different positions within the header divider row.
|
||
|
||
1. Left-aligned: `:---` (Colon on the left)
|
||
2. Right-aligned: `---:` (Colon on the right)
|
||
3. Center-aligned: `:---:` (Colons on both sides)
|
||
|
||
| Column 1 | Column 2 | Column 3 |
|
||
| :------------- | :----------: | -----------: |
|
||
| Cell Contents | More Stuff | And Again |
|
||
| You Can Also | Put Pipes In | Like this [\|] |
|
||
|
||
Markdown tables don’t support merging cells (like in HTML).
|
||
Each cell is treated separately.
|
||
But if you want an empty space, just leave it blank.
|
||
|
||
| Header 1 | Header 2 |
|
||
|----------|----------|
|
||
| Cell 1 | |
|
||
| Cell 3 | Cell 4 |
|
||
|
||
## Span Elements
|
||
|
||
### Links
|
||
|
||
To create an inline link, use a set of regular parentheses immediately
|
||
after the link text's closing square bracket. Inside the parentheses,
|
||
put the URL where you want the link to point, along with an *optional*
|
||
title for the link, surrounded in quotes. For example:
|
||
|
||
This is [an example](http://example.com/) inline link.
|
||
|
||
[This link](/test/markdown/ "This is an example title") has a title attribute.
|
||
|
||
### Emphasis
|
||
|
||
Markdown treats asterisks (`*`) and underscores (`_`) as indicators of
|
||
emphasis. Text wrapped with one `*` or `_` will be wrapped with an
|
||
HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML
|
||
`<strong>` tag. E.g., this input:
|
||
|
||
*single asterisks*
|
||
|
||
_single underscores_
|
||
|
||
**double asterisks**
|
||
|
||
__double underscores__
|
||
|
||
### Code
|
||
|
||
To indicate a span of code, wrap it with backtick quotes (`` ` ``).
|
||
Unlike a pre-formatted code block, a code span indicates code within a
|
||
normal paragraph. For example:
|
||
|
||
Use the `printf()` function.
|