Files
My-Blog/content/about-markdown.md
2025-04-21 11:04:14 +08:00

324 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
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 官网")
#### 图片
格式:`![图片替代文本](图片 URL "可选标题")`
```markdown
![Markdown Logo](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg "Markdown")
```
**渲染效果:**
![Markdown Logo](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg)
---
### 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 MarkdownGFM支持任务列表可以用于表示待办事项。
```markdown
- [x] 完成 Markdown 教程
- [ ] 阅读更多文章
- [ ] 分享教程
```
**渲染效果:**
- [x] 完成 Markdown 教程
- [ ] 阅读更多文章
- [ ] 分享教程
---
## 四、Markdown 使用注意事项
1. **空行与段落:**
Markdown 使用一个或多个空行来分隔不同的段落。如果要换行但不创建新段落,在行尾添加两个或更多空格后回车即可。
2. **转义字符:**
如果想要显示 Markdown 特殊符号而不被解析,比如 `*`、`#`、`\` 等,可以在前面加上反斜杠 `\`
```markdown
\*这不是斜体,而是普通的星号\*
```
**渲染效果:**
\*这不是斜体,而是普通的星号\*
3. **原始文本展示:**
为了展示 Markdown 源码而不被渲染,请使用代码块(反引号包围)或适用平台支持的原始文本标签(例如 `{% raw %}` 与 `{% endraw %}`)。
---
**Done.**