前言 本文为 Markdown 教程,内容涵盖 Markdown 的历史、作用、基本语法和显示效果,可以在github将本文的源码拷贝供大家参考和学习。

Markdown 教程

零.常用的markdown编辑器

一、Markdown 简介

1.1 什么是 Markdown?

Markdown 是一种轻量级标记语言,最初由约翰·格鲁伯(John Gruber)在 2004 年创建,其设计目标在于简洁易读,同时能够快速转换为 HTML。Markdown 被广泛用于撰写文档、博客、论坛帖子以及 README 文档,其直观的语法和高度可读性受到开发者和写作者的一致好评。

1.2 Markdown 的历史和作用

  • 历史沿革:
    2004 年左右,随着互联网内容量的增加以及对纯文本格式的需求不断上升,人们开始寻找一种既能保留纯文本的可读性,又能方便地生成格式化内容(如 HTML)的解决方案。Markdown 应运而生。经过十多年的发展,Markdown 已衍生出多个方言(例如 GitHub Flavored Markdown、CommonMark 等),并被各种编辑器、静态博客生成器(如 Zola、Jekyll、Hugo 等)以及内容管理系统所支持。

  • 主要作用:

    • 快速排版: Markdown 语法简单,使用自然语言符号来表示标题、列表、链接、图片等格式。
    • 跨平台兼容: 由于基于纯文本格式,Markdown 文件可以在任何文本编辑器中打开和编辑,而且可以很容易地转换成 HTML、PDF 等格式。
    • 降低学习成本: 与复杂的 HTML 标记相比,Markdown 的语法简单易懂,非常适合非程序员使用。
    • 促进内容创作: 许多博客平台和文档系统都采用 Markdown 作为主要写作格式,降低了内容创作和协作的门槛。

二、Markdown 基本语法

下面详细介绍 Markdown 常用的语法,并演示其在渲染后显示的效果。

2.1 标题

使用井号 # 来表示标题,井号的数量表示标题级别(1~6级)。

# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

渲染效果:

这是一级标题

这是二级标题

这是三级标题

这是四级标题

这是五级标题
这是六级标题

2.2 强调文本

  • 斜体:在文字两侧加上一个星号 * 或下划线 _
  • 加粗:在文字两侧加上两个星号 ** 或下划线 __
  • 斜体加粗:在文字两侧加上三个星号 ***
*这是斜体*
_这也是斜体_

**这是加粗**
__这也是加粗__

***这是斜体加粗***

渲染效果:

这是斜体
这也是斜体

这是加粗
这也是加粗

这是斜体加粗


2.3 列表

无序列表

使用 -*+ 表示无序列表项。

- 项目 1
- 项目 2
  - 子项目 2.1
  - 子项目 2.2
- 项目 3

渲染效果:

  • 项目 1
  • 项目 2
    • 子项目 2.1
    • 子项目 2.2
  • 项目 3

有序列表

使用数字后面跟点号来表示有序列表:

1. 第一项
2. 第二项
3. 第三项

渲染效果:

  1. 第一项
  2. 第二项
  3. 第三项

2.4 链接与图片

链接

格式:链接文字

[GitHub](https://github.com "GitHub 官网")

渲染效果:
GitHub

图片

格式:![图片替代文本](图片 URL "可选标题")

![Markdown Logo](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg "Markdown")

渲染效果:

Markdown Logo


2.5 代码

行内代码

使用反引号 ` 来表示行内代码。

使用 `printf()` 函数输出内容。

渲染效果:
使用 printf() 函数输出内容。

代码块

代码块使用三个反引号(```)包裹,也可以指定语言以便进行语法高亮。

```python
def hello():
    print("Hello, World!")
```

注意:上述代码块中第一行的三个反引号后面紧跟着语言名称(如 python),结束时用相同的三个反引号结束。

渲染效果(依赖编辑器或平台的语法高亮支持):

def hello():
    print("Hello, World!")

2.6 引用块

使用 > 来表示引用(Blockquote)。

> 这是引用的内容,可以用于引用名言或文章片段。
> 
> 多行引用时,每行前面都加上 `>`。

渲染效果:

这是引用的内容,可以用于引用名言或文章片段。

多行引用时,每行前面都加上 >


2.7 分割线

使用三个或更多的横线 ---、星号 *** 或下划线 ___ 来产生水平分割线。

---
或者
***
或者
___

渲染效果:


或者


或者



2.8 表格

Markdown 表格可以使用管道符 | 和短横线 - 来创建。

| 表头1 | 表头2 | 表头3 |
| :---  | :---: | ---:  |
| 左对齐 | 居中对齐 | 右对齐 |
| 单元格内容 | 更多内容 | 数据 |

渲染效果:

表头1表头2表头3
左对齐居中对齐右对齐
单元格内容更多内容数据

注:
“:---” 表示左对齐;
“:---:” 表示居中对齐;
“---:” 表示右对齐。


三、Markdown 高级语法与扩展

不同平台可能支持额外的 Markdown 扩展语法,下面列举一些常见的扩展功能:

3.1 脚注

某些 Markdown 方言支持脚注。脚注格式如下:

这是一个带脚注的句子.[^1]

[^1]: 这是脚注的内容。

渲染效果:

这是一个带脚注的句子.1

1

这是脚注的内容。

3.2 任务列表

GitHub Flavored Markdown(GFM)支持任务列表,可以用于表示待办事项。

- [x] 完成 Markdown 教程
- [ ] 阅读更多文章
- [ ] 分享教程

渲染效果:

  • 完成 Markdown 教程
  • 阅读更多文章
  • 分享教程

四、Markdown 使用注意事项

  1. 空行与段落:
    Markdown 使用一个或多个空行来分隔不同的段落。如果要换行但不创建新段落,在行尾添加两个或更多空格后回车即可。

  2. 转义字符:
    如果想要显示 Markdown 特殊符号而不被解析,比如 *#\ 等,可以在前面加上反斜杠 \

    \*这不是斜体,而是普通的星号\*
    

    渲染效果:
    *这不是斜体,而是普通的星号*

  3. 原始文本展示:
    为了展示 Markdown 源码而不被渲染,请使用代码块(反引号包围)或适用平台支持的原始文本标签(例如 {% raw %}{% endraw %})。


Done.