mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-08-01 09:19:32 -04:00
324 lines
7.3 KiB
Markdown
324 lines
7.3 KiB
Markdown
+++
|
||
title = "乱七八糟:Markdown使用快速教程"
|
||
date = 2025-04-08
|
||
|
||
[taxonomies]
|
||
tags = ["乱七八糟"]
|
||
+++
|
||
|
||
前言 本文为 Markdown 教程,内容涵盖 Markdown 的历史、作用、基本语法和显示效果,可以在github将本文的源码拷贝供大家参考和学习。
|
||
|
||
<!-- more -->
|
||
|
||
# Markdown 教程
|
||
|
||
## 零.常用的markdown编辑器
|
||
|
||
- VSCode的``Markdown Preview Enhanced``插件;
|
||
- 跨平台的[obsdian](https://obsidian.md/download)或者[inkdown](https://github.com/1943time/inkdown),[joplin](https://github.com/laurent22/joplin)或[zettlr](https://github.com/Zettlr/Zettlr)
|
||
|
||
|
||
## 一、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级)。
|
||
|
||
```markdown
|
||
# 这是一级标题
|
||
## 这是二级标题
|
||
### 这是三级标题
|
||
#### 这是四级标题
|
||
##### 这是五级标题
|
||
###### 这是六级标题
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
# 这是一级标题
|
||
## 这是二级标题
|
||
### 这是三级标题
|
||
#### 这是四级标题
|
||
##### 这是五级标题
|
||
###### 这是六级标题
|
||
|
||
---
|
||
|
||
### 2.2 强调文本
|
||
|
||
- *斜体*:在文字两侧加上一个星号 `*` 或下划线 `_`。
|
||
- **加粗**:在文字两侧加上两个星号 `**` 或下划线 `__`。
|
||
- ***斜体加粗***:在文字两侧加上三个星号 `***`。
|
||
|
||
```markdown
|
||
*这是斜体*
|
||
_这也是斜体_
|
||
|
||
**这是加粗**
|
||
__这也是加粗__
|
||
|
||
***这是斜体加粗***
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
*这是斜体*
|
||
_这也是斜体_
|
||
|
||
**这是加粗**
|
||
__这也是加粗__
|
||
|
||
***这是斜体加粗***
|
||
|
||
---
|
||
|
||
### 2.3 列表
|
||
|
||
#### 无序列表
|
||
|
||
使用 `-`、`*` 或 `+` 表示无序列表项。
|
||
|
||
```markdown
|
||
- 项目 1
|
||
- 项目 2
|
||
- 子项目 2.1
|
||
- 子项目 2.2
|
||
- 项目 3
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
- 项目 1
|
||
- 项目 2
|
||
- 子项目 2.1
|
||
- 子项目 2.2
|
||
- 项目 3
|
||
|
||
#### 有序列表
|
||
|
||
使用数字后面跟点号来表示有序列表:
|
||
|
||
```markdown
|
||
1. 第一项
|
||
2. 第二项
|
||
3. 第三项
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
1. 第一项
|
||
2. 第二项
|
||
3. 第三项
|
||
|
||
---
|
||
|
||
### 2.4 链接与图片
|
||
|
||
#### 链接
|
||
|
||
格式:[链接文字](URL "可选标题")。
|
||
|
||
```markdown
|
||
[GitHub](https://github.com "GitHub 官网")
|
||
```
|
||
|
||
**渲染效果:**
|
||
[GitHub](https://github.com "GitHub 官网")
|
||
|
||
#### 图片
|
||
|
||
格式:``。
|
||
|
||
```markdown
|
||

|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||

|
||
|
||
---
|
||
|
||
### 2.5 代码
|
||
|
||
#### 行内代码
|
||
|
||
使用反引号 `` ` `` 来表示行内代码。
|
||
|
||
```markdown
|
||
使用 `printf()` 函数输出内容。
|
||
```
|
||
|
||
**渲染效果:**
|
||
使用 `printf()` 函数输出内容。
|
||
|
||
#### 代码块
|
||
|
||
代码块使用三个反引号(```)包裹,也可以指定语言以便进行语法高亮。
|
||
|
||
````markdown
|
||
```python
|
||
def hello():
|
||
print("Hello, World!")
|
||
```
|
||
````
|
||
|
||
> 注意:上述代码块中第一行的三个反引号后面紧跟着语言名称(如 `python`),结束时用相同的三个反引号结束。
|
||
|
||
**渲染效果(依赖编辑器或平台的语法高亮支持):**
|
||
|
||
```python
|
||
def hello():
|
||
print("Hello, World!")
|
||
```
|
||
|
||
---
|
||
|
||
### 2.6 引用块
|
||
|
||
使用 `>` 来表示引用(Blockquote)。
|
||
|
||
```markdown
|
||
> 这是引用的内容,可以用于引用名言或文章片段。
|
||
>
|
||
> 多行引用时,每行前面都加上 `>`。
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
> 这是引用的内容,可以用于引用名言或文章片段。
|
||
>
|
||
> 多行引用时,每行前面都加上 `>`。
|
||
|
||
---
|
||
|
||
### 2.7 分割线
|
||
|
||
使用三个或更多的横线 `---`、星号 `***` 或下划线 `___` 来产生水平分割线。
|
||
|
||
```markdown
|
||
---
|
||
或者
|
||
***
|
||
或者
|
||
___
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
---
|
||
|
||
或者
|
||
|
||
***
|
||
|
||
或者
|
||
|
||
___
|
||
|
||
---
|
||
|
||
### 2.8 表格
|
||
|
||
Markdown 表格可以使用管道符 `|` 和短横线 `-` 来创建。
|
||
|
||
```markdown
|
||
| 表头1 | 表头2 | 表头3 |
|
||
| :--- | :---: | ---: |
|
||
| 左对齐 | 居中对齐 | 右对齐 |
|
||
| 单元格内容 | 更多内容 | 数据 |
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
| 表头1 | 表头2 | 表头3 |
|
||
| :------ | :-----: | -------:|
|
||
| 左对齐 | 居中对齐 | 右对齐 |
|
||
| 单元格内容 | 更多内容 | 数据 |
|
||
|
||
> **注:**
|
||
> “:---” 表示左对齐;
|
||
> “:---:” 表示居中对齐;
|
||
> “---:” 表示右对齐。
|
||
|
||
---
|
||
|
||
## 三、Markdown 高级语法与扩展
|
||
|
||
不同平台可能支持额外的 Markdown 扩展语法,下面列举一些常见的扩展功能:
|
||
|
||
### 3.1 脚注
|
||
|
||
某些 Markdown 方言支持脚注。脚注格式如下:
|
||
|
||
```markdown
|
||
这是一个带脚注的句子.[^1]
|
||
|
||
[^1]: 这是脚注的内容。
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
这是一个带脚注的句子.[^1]
|
||
|
||
[^1]: 这是脚注的内容。
|
||
|
||
### 3.2 任务列表
|
||
|
||
GitHub Flavored Markdown(GFM)支持任务列表,可以用于表示待办事项。
|
||
|
||
```markdown
|
||
- [x] 完成 Markdown 教程
|
||
- [ ] 阅读更多文章
|
||
- [ ] 分享教程
|
||
```
|
||
|
||
**渲染效果:**
|
||
|
||
- [x] 完成 Markdown 教程
|
||
- [ ] 阅读更多文章
|
||
- [ ] 分享教程
|
||
|
||
---
|
||
|
||
## 四、Markdown 使用注意事项
|
||
|
||
1. **空行与段落:**
|
||
Markdown 使用一个或多个空行来分隔不同的段落。如果要换行但不创建新段落,在行尾添加两个或更多空格后回车即可。
|
||
|
||
2. **转义字符:**
|
||
如果想要显示 Markdown 特殊符号而不被解析,比如 `*`、`#`、`\` 等,可以在前面加上反斜杠 `\`。
|
||
|
||
```markdown
|
||
\*这不是斜体,而是普通的星号\*
|
||
```
|
||
|
||
**渲染效果:**
|
||
\*这不是斜体,而是普通的星号\*
|
||
|
||
3. **原始文本展示:**
|
||
为了展示 Markdown 源码而不被渲染,请使用代码块(反引号包围)或适用平台支持的原始文本标签(例如 `{% raw %}` 与 `{% endraw %}`)。
|
||
|
||
---
|
||
**Done.** |