Markdown笔记(上)
本文最后更新于 63 天前,其中的信息可能已经过时,如有错误请发送邮件到nj2320820711@163.com。

一、Markdown是什么?

Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。Markdown 由 John Gruber 于 2004 年创建,如今已成为世界上最受欢迎的标记语言之一。

  1. Markdown 允许人们使用「易读易写」的纯文本格式编写文档。
  2. Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
  3. Markdown 编写的文档后缀为 .md , .markdown

使用 Markdown 与使用 Word 类编辑器不同。在 Word 之类的应用程序中,单击按钮以设置单词和短语的格式,并且,更改立即可见。而 Markdown 与此不同,当你创建 Markdown 格式的文件时,可以在文本中添加 Markdown 语法,以指示哪些单词和短语看起来应该有所不同。它的语法因不同的解析器或编辑器而异。Typora 正在使用 GitHub Flavored Markdown

Markdown 语法的首要设计目标是尽可能易读。
基于这个目标,Markdown 格式的文档能够以纯文本形式原样发布,而不会看起来像被填满了标签或格式化指令。

二、Markdown的优点

  • Markdown 无处不在。人们使用它来创建 网站、文档、便签、电子书、演示文稿、邮件 和 技术文档。StackOverflow和 GitHub 等网站都支持 Markdown,许多桌面和基于 Web 的应用程序也都支持 Markdown。
  • Markdown 是纯文本可移植的。几乎可以使用任何应用程序打开包含 Markdown 格式的文本文件。如果你不喜欢当前使用的 Markdown 应用程序了,则可以将 Markdown 文件导入另一个 Markdown 应用程序中。这与 Microsoft Word 等文字处理应用程序形成了鲜明的对比,Microsoft Word 将你的内容锁定在专有文件格式中。
  • Markdown 是独立于平台的,支持跨平台同步数据。你可以在运行任何操作系统的任何设备上创建 Markdown 格式的文本。
  • Markdown 能适应未来的变化。即使你正在使用的应用程序将来会在某个时候不能使用了,你仍然可以使用文本编辑器读取 Markdown 格式的文本。当涉及需要无限期保存的书籍、大学论文和其他里程碑式的文件时,这是一个重要的考虑因素。
  • Markdown能兼容HTML。HTML 是一种发布的格式,Markdown 是一种书写的格式。Markdown 的格式语法只涵盖HTML中纯文本可以涵盖的范围。不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。

三、Markdown的基本语法

3.1 标题

Markdown 标题有两种创建方式。

目录

输入 [toc] 然后按 Return 键将创建一个“目录”,将自动从文档内容中提取所有标题,且会自动更新。

1、使用 # 号标记

要创建标题,在单词或短语前面添加井号 (#) ,可以表示1-6级标题。# 的数量代表了标题的级别,一级标题字号最大,六级标题字号最小。

Markdown HTML
# 一级标题 <h1>一级标题</h1>
## 二级标题 <h2>二级标题</h2>
### 三级标题 <h3>三级标题</h3>
#### 四级标题 <h4>四级标题</h4>
##### 五级标题 <h5>五级标题</h5>
###### 六级标题 <h6>六级标题</h6>

效果如下:

注意:
最后一个#字符与标题中间留一个空格
标题应该置于行首,如果放入表格中可能无法正确解析

2、使用 = 和 - 标记一级和二级标题

可以在文本下方添加任意数量的 = 号来标识一级标题,或者 - 号来标识二级标题。

Markdown HTML
一级标题
======
<h1>一级标题</h1>
二级标题
-------------
<h2>二级标题</h2>

标题自定义ID

许多 Markdown 处理器都支持为标题自定义 ID,一些 Markdown 处理器会自动为标题添加 ID。通过添加自定义 ID,能够让你直接链接到这个标题,并且还可以使用 CSS 修改其样式。如需为标题添加自定义 ID,请将井号#+自定义 ID 用大括号{ }括起来并与标题放在同一行。

 

Markdown HTML
#### 标题自定义ID {#custom-id} <h4 id="custom-id">标题自定义ID</h4>

3.2 段落

一个 Markdown 段落是由一个或多个连续的文本行组成,每个文本行的前后要有一个及以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。在Typora中,我们只需按下 Enter 即可创建新段落。

除非段落在列表中,否则不要用空格(space)或制表符(tabs)来缩进。

✅ Do this ❌ Don't do this
Don't put tabs or spaces in front of your paragraphs.

Keep lines left-aligned like this.

This can result in unexpected formatting problems.

Don't add tabs or spaces in front of paragraphs.

3.3 换行

在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行(<br/>)。 同时Markdown 允许在段落内直接插入换行符<br/>进行换行。

注意:在Typora中,按下Enter即可换行,会创建两个换行符(创建一个空行用于分隔)。

按 Shift + Enter 可创建单个换行符,实现单行换行,即文本行间没有空行。

Shift + Return Return

3.4 强调

字体

我们可以采用星号(*)与下划线( _ ),将文本设置为粗体或斜体来强调其重要性。(建议使用*号)

单是斜体,双是粗体,三是粗斜体。用一个 *_ 包裹文本将使用HTML <em>标签包裹文本。用两个 或 _ 包裹的文本将使用HTML<strong>标签包裹。注意,中间不要带空格

Markdown 效果
*这是斜体* 这是斜体
_这是斜体_ 这是斜体
**这是粗体** 这是粗体
__这是粗体__ 这是粗体
***这是粗斜体*** 这是粗斜体
___这是粗斜体___ 这是粗斜体

如果 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号。

如果要在文字前后直接插入普通的星号或底线,可以用反斜杠转义。

\*这个文字被星号包围\*

删除线

你可以贯穿单词的中心放一条横线从而删除这些单词。效果看起来是:这样的。此功能可以用来标记某些单词是错误的,要从文档中删除。在单词前后分别放置两个波浪号(~~) 来表示删除这些单词。

~~错误的文本~~

效果如下:

错误的文本

下划线

下划线可以通过 HTML 的<u>标签来实现。

<u>带下划线文本</u>

效果如下:

带下划线文本

3.5 引用

Markdown 区块引用是在段落前添加一个>符号 ,然后后面紧跟一个空格符号(可省略):

多个段落的块引用

块引用可以包含多个段落。引用段落之间的空白行前也要添加一个 > 符号。

在引用的区块内,允许换行存在,换行并不会终止引用的区块。如果要结束引用,需要一行空白行,来结束引用的区块。

代码如下:

> 这是一个含有两个段落的块引用,这是第一段。
换行不会终止引用。
>
> 这是第二段。
                                            //空白行结束引用
> 这是另一个块引用。

效果如下:

这是一个含有两个段落的块引用,这是第一段。
换行不会终止引用。

这是第二段。

这是另一个块引用。

嵌套块引用

块引用可以嵌套。只要根据层次加上不同数量的 >号。

代码如下:

> 最外层引用
> > 第一层嵌套
> > > 第二层嵌套

效果如下:

最外层引用

第一层嵌套

第二层嵌套

带有其他元素的块引用

引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。

代码如下:

> #### 这是一个标题!
>
> - 这是第一行列表项.
> - 这是第二行列表项.
>
>  *这是斜体*,**这是粗体**,***这是粗斜体***

效果如下:

这是一个标题!

  • 这是第一行列表项.
  • 这是第二行列表项.

这是斜体这是粗体这是粗斜体

3.6 列表

Markdown 支持有序列表和无序列表。

  • 无序列表,使用*+-作为列表的标记。
  • 有序列表,使用数字并加上.号作为列表的标记。

列表标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,列表标记后面则一定要接着至少一个空格或制表符。

代码如下:

* 无序列表 1
+ 无序列表 2
- 无序列表 3

1. 有序列表 1
2. 有序列表 2
3. 有序列表 3

效果如下:

  • 无序列表 1
  • 无序列表 2
  • 无序列表 3
  1. 有序列表 1
  2. 有序列表 2
  3. 有序列表 3

注意:用于创建有序列表的数字不必按数学顺序排列(列表标记上使用的数字并不会影响输出的 HTML 结果),但是列表应当以数字 1 起始。

Markdown HTML
1. First item
2. Second item
3. Third item
4. Fourth item
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
<li>Fourth item</li>
</ol>
1. First item
1. Second item
1. Third item
1. Fourth item
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
<li>Fourth item</li>
</ol>
1. First item
8. Second item
3. Third item
5. Fourth item
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
<li>Fourth item</li>
</ol>
1. First item
2. Second item
3. Third item
1. Indented item
2. Indented item
4. Fourth item
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item
<ol>
<li>Indented item</li>
<li>Indented item</li>
</ol>
</li>
<li>Fourth item</li>
</ol>

如果需要以数字开头并且紧跟一个英文句号(也就是 .)的无序列表项,则可以使使用反斜线(\)来 转义 这个英文句号。

Markdown HTML
- 1968\. A great year!
- I think 1969 was second best.
<ul>
<li>1968. A great year!</li>
<li>I think 1969 was second best.</li>
</ul>

效果如下:

  • 1968. A great year!
  • I think 1969 was second best.

在列表中嵌套其他元素

要在保留列表连续性的同时在列表中嵌套另一种语法元素,请将该元素缩进四个空格一个制表符

如下列所示:

1.段落
*   This is the first list item.
*   Here's the second list item.

    I need to add another paragraph below the second list item.

*   And here's the third list item

效果如下:

2.引用块
*   This is the first list item.
*   Here's the second list item.

    > A blockquote would look great below the second list item.

*   And here's the third list item.

效果如下:

  • This is the first list item.
  • Here's the second list item.

    A blockquote would look great below the second list item.

  • And here's the third list item.
3.代码块

代码块(Code blocks) 通常采用四个空格或一个制表符缩进。当它们被放在列表中时,请将它们缩进八个空格两个制表符

1. Open the file.
2. Find the following code block on line 21:

        <html>
          <head>
            <title>Test</title>
          </head>

3. Update the title to match the name of your website.

效果如下:

  1. Open the file.
  2. Find the following code block on line 21:
       <html>
         <head>
           <title>Test</title>
         </head>
  3. Update the title to match the name of your website.
4.图片
1. Open the file containing the Linux mascot.
2. Marvel at its beauty.

    ![Tux, the Linux mascot](Markdown语法教程.assets/tux-16901839786581.png)

3. Close the file.

效果如下:

  1. Open the file containing the Linux mascot.
  2. Marvel at its beauty.
  3. Close the file.
5.列表

可以将无序列表嵌套在有序列表中,反之亦然。

1. First item
2. Second item
3. Third item
    - Indented item
    - Indented item
4. Fourth item

效果如下:

  1. First item
  2. Second item
  3. Third item
    • Indented item
    • Indented item
  4. Fourth item

自定义列表(Typora不支持)

一些Markdown处理器允许您创建术语及其对应定义的列表,即定义列表。要创建定义列表,请在第一行上键入术语,然后在下一行键入一个冒号,后跟一个空格和术语对应的定义。

First Term
: This is the definition of the first term.

Second Term
: This is one definition of the second term.
: This is another definition of the second term.

输出的HTML如下所示:

<dl>
  <dt>First Term</dt>
  <dd>This is the definition of the first term.</dd>
  <dt>Second Term</dt>
  <dd>This is one definition of the second term. </dd>
  <dd>This is another definition of the second term.</dd>
</dl>

效果如下:

任务列表

任务列表即带有复选框的项目列表,用于标记项目是否完成。要创建任务列表,请在任务列表项之前添加减号-中间带空格的方括号[ ],并在[ ]前面加上空格。要选中复选框,请在方括号[ ]之间添加 x ,即[x]

- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media

效果如下:

可以通过单击列表项前的复选框来更改完成/未完成状态。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇