Markdown编辑器使用手册.md 51 KB

Markdown编辑器

工欲善其事,必先利其器,选择一个合适的编辑器对学习 Markdown 至关重要:

1、专业代码编辑器

Visual Studio Code:微软开发的免费编辑器,通过安装 Markdown 相关扩展,可以获得强大的编辑和预览功能。

VScode 安装教程:https://www.runoob.com/vscode/vscode-tutorial.html

VScode 支持 Markdown 的扩展包括:

Markdown All in One:提供快捷键、目录生成、数学公式支持
Markdown Preview Enhanced:增强的预览功能,支持图表和演示模式
markdownlint:语法检查和格式规范
Sublime Text:轻量级但功能强大的编辑器,通过包管理器可以安装 Markdown 相关插件。

Atom:GitHub 开发的编辑器(已停止维护),但仍有丰富的 Markdown 插件生态。

2、专门的 Markdown 编辑器

Mark Text:开源的实时预览 Markdown 编辑器,界面简洁,功能完整。下载地址:https://github.com/marktext/marktext/

Zettlr:学术写作导向的 Markdown 编辑器,支持引用管理和论文写作功能。下载地址:https://github.com/Zettlr/Zettlr

Joplin:免费开源的支持 markdown 免费的笔记应用 -- https://joplinapp.org/

3、在线编辑器

Markdown 在线编辑器:https://www.jyshare.com/front-end/712/。

Dillinger:https://dillinger.io/,功能齐全的在线 Markdown 编辑器,支持云同步和多种导出格式。

StackEdit:https://stackedit.io/,基于浏览器的编辑器,与 Google Drive、Dropbox 等云服务集成。

简书、语雀编辑器:国内平台提供的在线 Markdown 编辑环境。

VS Code Markdown

本教程将使用 VSCode 编辑器来讲解 Markdown 的语法,VSCode 支持 MacOS 、Windows、Linux 平台,且包含多种主题。

VSCode 默认集成了 Markdown 文档编辑插件,原生就支持高亮 Markdown 的语法。

VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。

VScode 安装教程:https://www.runoob.com/vscode/vscode-install.html
VScode 官网地址:https://code.visualstudio.com/

VSCode 实时预览还需要执行 Markdown: Open Preview to the Side 命令来实现。

在命令窗口输入 Markdown: Open Preview to the Side 命令:

最终效果:

如果你需要将 markdown 转为 PDF、图片、HTML 等格式也可以安装对应的插件来实现。

你也可以使用我们的在线编辑器来测试:https://www.jyshare.com/front-end/712。

MarkDown 思维导图工具:https://www.jyshare.com/front-end/9692/。

测试实例

接下来的测试中,我们先在 VSCode 下安装 Markdown Preview Enhanced 插件来实现更强大的功能。

点击右侧栏扩展按钮,查找Markdown Preview Enhanced 插件,点击安装:

安装完成后重启 VSCode。

在 RUNOOB.md 输入以下代码:

# RUNOOB Markdown Test  
## Hello World!  

将该代码格式粘贴到文件 RUNOOB.md 上,效果如下:

在预览框中右击鼠标还提供了各种导出功能:

MarkText

我们也可以使用 MarkText-- 一款简单而优雅的开源 Markdown 编辑器。

MarkText 下载地址 https://www.marktext.cc/,可以根据不同系统选择不同的安装包:

下载安装后,我们可以在菜单的 View 选项切换源码模式,也可以显示菜单栏:

通过菜单的 File 选项,可以导出不同格式的文件:

创建第一个 Markdown 文件

现在让我们创建第一个 Markdown 文件来开始实践:

步骤1:创建文件

打开你选择的编辑器 创建一个新文件
将文件保存为 RUNOOB.md(注意扩展名是 .md)

步骤2:编写内容(这里用代码块框起来用于展示,在写时不需要框起来)

# 我的第一个 Markdown 文档

这是我学习 Markdown 的开始。

## 学习目标

- 掌握基本语法
- 了解应用场景
- 能够独立创作文档

## 今天的感受

学习 Markdown 比我想象的**简单**,我对接下来的学习充满*期待*!

---

> 学习是一个持续的过程,每一小步都是进步。

步骤3:预览效果

如果使用 VS Code 等编辑器,按 Ctrl+Shift+V 打开预览面板,也可以点击右上角的预览图标:

如果使用支持实时预览的编辑器(如 MarkText),可以直接看到渲染效果:

可以观察源码和渲染结果的对应关系。

步骤4:实验和探索

尝试修改文件内容:

改变标题级别(增加或减少 # 号) 添加更多的列表项 尝试不同的强调方式 通过这个简单的练习,你已经创建了第一个 Markdown 文档,并体验了基本的语法效果。

记住,学习 Markdown 最好的方法就是实践。在阅读教程的同时,不断地在编辑器中尝试各种语法,观察它们的渲染效果。随着实践的增加,你会发现 Markdown 的简洁和强大。

Markdown 标题---Markdown 标题有两种格式。

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

= 和 - 标记语法格式如下:

我展示的是一级标题
=================

我展示的是二级标题
-----------------

显示效果如下图:

2、使用 # 号标记

Markdown 使用 # 号来创建标题,这是从 HTML 的 <h1><h6> 标签概念演化而来的。

使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。

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

显示效果如下图:

重要注意事项:

符号与文字间的空格:# 号和标题文字之间必须有一个空格。这是标准的 Markdown 语法要求。

# 正确写法
#错误写法

行首位置:# 号必须在行首,前面不能有其他字符(空格或制表符)。

唯一的一级标题:在一个文档中,通常只使用一个一级标题作为文档的主标题,这符合良好的文档结构规范。

3、标题的嵌套结构

标题的层次结构应该遵循逻辑顺序,不应该跳级使用。良好的标题结构就像一本书的目录:

推荐的层次结构:

# 主题:人工智能概述

## 第一部分:基础概念
### 什么是人工智能
### 发展历史
#### 早期发展(1950-1980)
#### 现代发展(1980至今)

## 第二部分:应用领域
### 自然语言处理
### 计算机视觉
### 机器学习
#### 监督学习
#### 无监督学习
#### 强化学习

避免的错误结构:

# 主标题
### 直接跳到三级标题(不推荐)
## 然后才是二级标题

标题编号的最佳实践

自动编号 vs 手动编号:

许多 Markdown 处理器和编辑器支持自动生成标题编号,因此在源码中通常不需要手动添加编号:

# 引言
## 背景
## 目标
# 方法论
## 数据收集
## 分析方法

标题锚点:

大多数 Markdown 处理器会自动为标题创建锚点(anchor),便于页面内跳转:

[跳转到方法论部分](#方法论)

标题长度建议:

保持标题简洁明了,一般不超过 10 个汉字或 20 个英文字符
使用描述性词语,避免模糊的标题如"其他"、"杂项"
可以使用冒号来分隔主题和副主题

Markdown 文本格式

Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。

当然也可以在段落后面使用一个空行来表示重新开始一个段落。

字体

文本强调是写作中的重要技巧,Markdown 提供了简洁的方式来实现粗体和斜体效果。

Markdown 可以使用以下几种字体:粗体和斜体。

粗体语法:使用两个星号 ** 或两个下划线 __ 包围文字:

这是**粗体文字**使用星号
这是__粗体文字__使用下划线
````

斜体语法:使用一个星号 * 或一个下划线 _ 包围文字:

这是*斜体文字*使用星号 这是_斜体文字_使用下划线


粗斜体组合:使用三个星号 *** 或三个下划线 ___。:

*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___

显示效果如下所示:

混合使用技巧:

这段文字包含**粗体**、*斜体*和***粗斜体***的组合效果。

渲染效果如下:

使用建议:

推荐使用星号 * 而不是下划线 _,因为星号在各种 Markdown 解析器中兼容性更好
不要过度使用强调,重点突出才有效果
在中英文混合时,建议在强调符号前后加空格以提高可读性

分隔线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:

***

* * *

*****

- - -

----------

显示效果如下所示:

删除线

如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:

RUNOOB.COM
GOOGLE.COM
~~BAIDU.COM~~

显示效果如下所示:

下划线

下划线可以通过 HTML 的 标签来实现:

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

显示效果如下所示:

脚注

脚注是对文本的补充说明。

Markdown 脚注的格式如下:

[^要注明的文本]

以下实例演示了脚注的用法:

创建脚注格式类似这样 [^RUNOOB]。

[^RUNOOB]: 菜鸟教程 -- 学的不仅是技术,更是梦想!!!

演示效果如下:

行内代码标记

行内代码用于在正文中标记代码片段、命令、变量名等:

基本语法: 使用一个反引号 ` 包围代码:

使用 `git commit` 命令提交代码
变量 `userName` 存储用户名
在终端中输入 `npm install` 安装依赖

渲染效果:

包含反引号的代码:当代码本身包含反引号时,使用两个反引号包围。

要显示反引号,使用 `` `code` `` 这样的格式

渲染效果:

应用场景:

技术文档中的 API 名称、函数名 配置文件中的参数名 命令行指令 键盘快捷键(如 Ctrl+C)

文本高亮(扩展语法)

文本高亮不是标准 Markdown 语法,但许多扩展支持:

常见语法(部分平台支持):

这是==高亮文本==

HTML 替代方案:

这是<mark>高亮文本</mark>

段落和换行

段落的创建方法 在 Markdown 中,段落是文本的基本单位,理解段落规则对于正确格式化文档至关重要。

段落基本规则:

段落由一个或多个连续的文本行组成 段落之间由一个或多个空行分隔 普通段落不应该用空格或制表符缩进 正确的段落写法:

这是第一个段落。它可以包含多个句子,内容可以很长,会自动换行显示。

这是第二个段落。注意上面有一个空行分隔。

这是第三个段落。

常见错误:

这是第一段
这是第二段(错误:没有空行分隔)

  这是缩进段落(错误:不应该缩进)

强制换行技巧

有时需要在不创建新段落的情况下换行,Markdown 提供了几种方法:

方法一:行尾两个空格

在行尾添加两个或更多空格,然后按回车:

第一行内容(这里有两个空格)  
第二行内容

方法二:HTML 换行标签

第一行内容<br>
第二行内容

方法三:反斜杠(部分解析器支持)

第一行内容\
第二行内容

实际应用示例:

地址:北京市朝阳区  
电话:010-12345678  
邮箱:admin@runoob.com

诗歌示例:
床前明月光,  
疑是地上霜。  
举头望明月,  
低头思故乡。

空行的作用

空行在 Markdown 中扮演重要角色:

分隔段落:

第一段内容

第二段内容

分隔不同元素:

# 标题

段落内容

- 列表项1
- 列表项2

另一段内容

最佳实践建议:

在标题和内容之间留空行 在列表前后留空行 在代码块前后留空行 保持一致的空行使用习惯

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

无序列表

无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容:

* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项


- 第一项
- 第二项
- 第三项

显示结果如下:

选择建议:

建议统一使用减号 -,因为它在视觉上更清晰 在同一文档中保持一致的标记方式 标记符号后必须有一个空格

有序列表

有序列表用于展示有顺序要求的步骤或项目。

有序列表使用数字并加上 . 号来表示,如:

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

显示结果如下:

数字可以不连续

Markdown 会自动修正数字顺序:

1. 第一项
3. 第二项(实际显示为2)
7. 第三项(实际显示为3)

从指定数字开始:

5. 第五项
6. 第六项
7. 第七项

列表嵌套

列表嵌套技巧 列表可以嵌套使用,创建多层次的结构:

无序列表嵌套:

- 水果
  - 苹果
    - 红苹果
    - 绿苹果
  - 香蕉
  - 橙子
- 蔬菜
  - 胡萝卜
  - 白菜

有序列表嵌套:

1. 准备阶段
   1. 收集资料
   2. 制定计划
2. 执行阶段
   1. 开始实施
   2. 监控进度
3. 总结阶段

混合嵌套:

1. 主要任务
   - 子任务A
   - 子任务B
     1. 详细步骤1
     2. 详细步骤2
   - 子任务C
2. 次要任务

列表混合嵌套只需在子列表中的选项前面添加两个或四个空格即可:

1. 第一项:
    - 第一项嵌套的第一个元素
    - 第一项嵌套的第二个元素
2. 第二项:
    - 第二项嵌套的第一个元素
    - 第二项嵌套的第二个元素

嵌套规则:

子列表需要缩进 2-4 个空格(推荐 2 个) 保持一致的缩进长度 可以无限层嵌套,但实际使用中建议不超过 3 层

任务列表(复选框列表)---任务列表是GitHub风格Markdown的扩展功能,现在被广泛支持:

基本语法:

- [ ] 未完成的任务
- [x] 已完成的任务
- [ ] 另一个未完成的任务

实际应用示例:

## 项目待办清单

### 设计阶段
- [x] 需求分析
- [x] 原型设计
- [ ] UI 设计

### 开发阶段
- [ ] 前端开发
  - [x] 页面布局
  - [ ] 交互功能
  - [ ] 响应式适配
- [ ] 后端开发
  - [ ] 数据库设计
  - [ ] API 开发
  - [ ] 性能优化

### 测试阶段
- [ ] 单元测试
- [ ] 集成测试
- [ ] 用户验收测试

使用技巧:

方括号内的空格和 x 很重要:[ ] 和 [x] 可以与嵌套列表结合使用 在项目管理、学习计划、生活清单中特别有用 某些编辑器支持点击复选框来切换状态 高级列表技巧:

列表项中包含多段内容:

1. 第一项

   这是第一项的详细说明,需要与列表项对齐缩进。
   
   还可以包含第二段内容。

2. 第二项

   > 可以在列表项中使用引用

列表项中的换行:

- 这是一个很长的列表项,
  需要换行显示,注意第二行需要与第一行对齐
- 另一个列表项

Markdown 引用块

引用块用于突出显示重要信息、引用他人观点或创建视觉层次。

单级引用的使用

基本语法:

Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:

> 区块引用
> 菜鸟教程
> 学的不仅是技术更是梦想

多行引用:

> 这是引用的第一行。
> 这是引用的第二行。
> 
> 这是引用的第二段。

简化写法:

只在第一行使用 > ,其余行会自动包含在引用中:

> 这是一个长引用,
包含多行内容,
只需要在第一行使用 > 符号。

多级嵌套引用

另外区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:

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

实际应用示例:

> **用户反馈**:这个功能很有用!
> 
> > **开发团队回复**:感谢您的反馈,我们会继续优化。
> > 
> > > **项目经理补充**:预计下个版本会有更多改进。

区块中使用列表

区块中使用列表实例如下:

> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项

显示结果如下:

列表中使用区块

如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。

列表中使用区块实例如下:

* 第一项
    > 菜鸟教程
    > 学的不仅是技术更是梦想
* 第二项

引用块内的其他元素

引用块内可以包含几乎所有其他 Markdown 元素。

包含标题:

> ## 重要提醒
> 
> 请在操作前仔细阅读文档,避免数据丢失。

包含列表:

> ### 注意事项
> 
> 1. 备份重要数据
> 2. 检查系统兼容性
> 3. 准备回滚方案
> 
> - 测试环境验证
> - 生产环境部署
> - 监控系统状态

包含代码:

> 要运行这个脚本,请使用以下命令:
> 
> bash
> npm install
> npm start
> 
> 
> 执行后会在 `http://localhost:3000` 看到结果。

包含链接和图片:

> &#x1f4da; **推荐阅读**
> 
> 详细信息请参考 [官方文档](https://example.com)
> 
> ![示例图片](./images/example.png)

引用的最佳实践

名言警句引用

> "在软件开发中,最昂贵的错误就是构建正确的系统错误的方式,或者构建错误的系统正确的方式。"
> 
> — Barry Boehm,软件工程专家

重要信息提示

成功提示:

> &#x2705; **成功**
> 
> 配置已保存并生效。系统将在下次重启时应用新设置。

警告信息:

> &#x274c; **错误**
> 
> 连接数据库失败,请检查网络连接或联系系统管理员。

信息提示:

> &#x2139;&#xfe0f; **提示**
> 
> 首次使用需要进行账户验证,验证邮件已发送到您的邮箱。

文档结构中的引用

章节摘要:

# 第一章:项目概述

> **本章要点**
> 
> - 了解项目背景和目标
> - 掌握核心功能特性
> - 熟悉技术架构设计

版本更新说明:

## v2.1.0 更新内容

> **重大变更**
> 
> &#x26a0;&#xfe0f; API 接口路径已调整,旧版本客户端需要更新
> 
> 详见 [迁移指南](./migration-guide.md)

Markdown 代码

Markdown 提供了多种方式来展示代码,从简单的行内代码到复杂的代码块,满足不同场景下的代码展示需求。

行内代码

如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如:

`printf()` 函数

常见用法示例:

函数名:使用 console.log() 输出信息 变量名:将值赋给 userName 变量 命令行:运行 npm install 安装依赖 键盘按键:按 Ctrl+C 复制内容 文件名:编辑 index.html 文件

特殊字符转义

当需要在行内代码中显示反引号或其他特殊字符时,需要进行转义处理。

显示反引号的方法:

使用双反引号包围单反引号:

``使用 `反引号` 包围代码``

使用多个反引号包围:

```包含 `` 双反引号的代码```

其他特殊字符处理:

HTML 标签:

元素 数学符号:计算 x + y = z 特殊符号:使用   表示空格

代码区块

缩进式代码块
代码区块使用 4 个空格或者一个制表符(Tab 键)。

语法格式:

正常文本段落

    这是缩进式代码块
    每行前面有四个空格
    保持代码的原始格式
    
继续正常文本



三反引号代码块

你也可以用 包裹一段代码,并指定一种语言(也可以不指定):

多行代码内容
可以包含空行
保持原有缩进

三反引号()是最常用的代码块语法,支持语法高亮和多行代码展示。

$(document).ready(function () {
    alert('RUNOOB');
});

注意事项:

缩进式代码块前后需要空行分隔 所有代码行必须保持一致的缩进 不支持语法高亮 在列表中使用时需要8个空格缩进

语言标识和语法高亮

在三反引号后添加语言标识符可以启用语法高亮功能。

常用语言标识符列表:

javascript / js - JavaScript python / py - Python html - HTML css - CSS sql - SQL json - JSON xml - XML yaml / yml - YAML bash / shell - Shell脚本 java - Java cpp / c++ - C++ csharp / c# - C# php - PHP ruby / rb - Ruby go - Go语言 rust - Rust typescript / ts - TypeScript JavaScript:

代码块的高级特性

行号显示 某些 Markdown 渲染器支持显示行号,通过特定的语法或配置实现。

语法示例(部分支持):

代码差异对比

用于显示代码的添加、删除或修改,常用于展示版本控制中的变更。

Diff 语法:

Markdown 链接

链接是使 Markdown 文档具有交互性的关键元素。

掌握链接语法能让你创建内容丰富、易于导航的文档。

链接使用方法如下:

[链接名称](链接地址)
[链接文字](链接地址 "可选的标题")
或者:
<链接地址>

一个简单的链接:

这是一个链接 [上海永天科技官网](https://www.usky.cn)  

直接使用链接地址:

<https://www.usky.cn>

设置可选标题:

这是一个链接 [上海永天科技官网](https://www.usky.cn)
欢迎访问 [GitHub](https://github.com) 官网
这是 [百度搜索](https://www.baidu.com "百度一下,你就知道")

链接标题的作用:

当鼠标悬停在链接上时显示提示信息 对搜索引擎优化和无障碍访问有帮助 标题文字放在双引号、单引号或括号中都可以 邮箱链接:

markdown联系我:[发送邮件](mailto:usky@email.com)
电话联系:[拨打电话](tel:+86-100-0000-8000)

参考链接

参考式链接将链接定义与使用分离,让文档更整洁,特别适合长文档或需要多次引用相同链接的情况。

基本语法:

markdown[链接文字][参考标签]

[参考标签]: URL "可选标题"

我们可以通过变量来设置一个链接,变量赋值在文档末尾进行:

这个链接用 1 作为网址变量 [Google][1]
这个链接用 usky 作为网址变量 [Usky][usky]
然后在文档的结尾为变量赋值(网址)

  [1]: http://www.google.com/
  [usky]: https://www.usky.cn/

简化写法:

当参考标签与链接文字相同时,可以省略第二个方括号:

markdown 我喜欢使用 [GitHub][] 来管理代码。

[GitHub]: https://github.com

参考链接的优势:

文档正文更清爽,不被长 URL 打断 便于链接的统一管理和更新 相同链接可以重复使用,避免重复定义 链接定义可以放在文档任意位置(通常放在末尾) 组织技巧: markdown# 学习资源推荐

## 在线教程
- [MDN Web Docs][mdn] - 权威的 Web 技术文档
- [USKY][rnb] - 上海永天科技股份有限公司官网
- [freeCodeCamp][fcc] - 免费的编程学习平台

## 代码托管
- [GitHub][github] - 最受欢迎的代码托管服务
- [GitLab][gitlab] - 企业级的代码管理平台

<!-- 链接定义区域 -->
[mdn]: https://developer.mozilla.org/
[rnb]: https://www.usky.cn/
[fcc]: https://www.freecodecamp.org/
[github]: https://github.com/
[gitlab]: https://gitlab.com/

自动链接识别 现代 Markdown 解析器通常支持自动识别 URL 和邮箱地址:

URL 自动识别:

markdown直接输入网址:https://www.example.com
用尖括号包围:<https://www.example.com>

邮箱自动识别:

markdown联系邮箱:example@email.com
或者:<example@email.com>

注意事项:

自动识别功能依赖于具体的 Markdown 解析器 为了确保兼容性,建议使用标准的链接语法 某些特殊字符可能影响自动识别 锚点链接的使用 锚点链接用于在同一文档内跳转,特别适合长文档的导航:

跳转到标题:

## 目录
- [第一章:介绍](#第一章介绍)
- [第二章:安装](#第二章安装)
- [第三章:使用方法](#第三章使用方法)

# 第一章:介绍
这里是介绍内容...

# 第二章:安装
这里是安装说明...

# 第三章:使用方法
这里是使用说明...

锚点规则:

标题会自动生成锚点 锚点名称通常是标题的小写形式 空格替换为连字符 移除特殊字符 手动创建锚点:

<a id="custom-anchor"></a>
## 自定义锚点位置

[跳转到自定义位置](#custom-anchor)

页面顶部返回链接:

[回到顶部](#)

Markdown 图片

图片能让文档更加生动和易于理解。

Markdown 的图片语法简洁而灵活。

Markdown 图片语法格式如下:

![替代文字](图片路径)
![替代文字](图片路径 "图片标题")

开头一个感叹号 ! 接着一个方括号,里面放上图片的替代文字 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 'title' 属性的文字。
相对路径示例:

![项目截图](./images/screenshot.png)
![用户界面](../assets/ui-demo.jpg "用户界面演示")
![图标](images/icon.svg "应用图标")

绝对路径示例:

![本地图片](/Users/username/Documents/image.png)
![系统截图](C:\Users\username\Pictures\screenshot.png)

路径使用建议:

推荐使用相对路径,便于项目移植 建议创建专门的图片文件夹(如 images/、assets/) 使用有意义的文件名,便于管理 注意路径分隔符在不同操作系统中的差异 直接引用网络图片:

![USKY 图标](http://47.111.81.118:4000/images/uskylogo.png)

![USKY 图标](http://47.111.81.118:4000/images/uskylogo.png "USKY")  

当然,你也可以像网址那样对图片网址使用变量:

这个链接用 1 作为网址变量 [USKY][1].
然后在文档的结尾为变量赋值(网址)

[1]: http://47.111.81.118:4000/images/uskylogo.png  

Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的 <img>标签。

<img src="http://47.111.81.118:4000/images/uskylogo.png" width="50%">

使用 CDN 服务:

![示例图片](https://cdn.jsdelivr.net/gh/user/repo/image.png)
![Unsplash 图片](https://images.unsplash.com/photo-1506905925346-21bda4d32df4)

网络图片注意事项:

确保图片 URL 的稳定性和可访问性 注意图片的版权问题 考虑加载速度和网络环境 建议本地备份重要图片

图片 alt 文本的重要性

Alt 文本(替代文字)在图片无法显示时提供替代信息,同时对无障碍访问和 SEO 很重要:

好的 alt 文本示例:

![苹果公司总部大楼外观,现代玻璃幕墙建筑](./images/apple-headquarters.jpg)
![网站流量统计图表,显示过去六个月的访问量呈上升趋势](./charts/traffic-stats.png)
![用户登录界面,包含用户名和密码输入框](./screenshots/login-page.png)

避免的 alt 文本:

![图片](image.jpg)  // 太简单,没有描述性
![](image.jpg)      // 完全没有 alt 文本
![点击这里](image.jpg)  // 不描述图片内容

alt 文本最佳实践:

简洁但有描述性 描述图片的主要内容和用途 避免使用"图片"、"照片"等冗余词汇 对于装饰性图片,可以使用空的 alt 文本 考虑上下文,提供有意义的信息

图片尺寸控制(HTML方式)

标准 Markdown 不支持直接控制图片尺寸,但可以使用 HTML 标签。

使用 HTML img 标签:

<img src="image.jpg" alt="描述文字" width="300" height="200">
<img src="image.jpg" alt="描述文字" width="50%">
<img src="image.jpg" alt="描述文字" style="width: 300px; height: auto;">

响应式图片:

<img src="image.jpg" alt="描述文字" style="max-width: 100%; height: auto;">

图片对齐:

<!-- 居中对齐 -->
<div align="center">
  <img src="image.jpg" alt="居中图片" width="400">
</div>

<!-- 左对齐(默认) -->
<img src="image.jpg" alt="左对齐图片" style="float: left; margin-right: 20px;">

<!-- 右对齐 -->
<img src="image.jpg" alt="右对齐图片" style="float: right; margin-left: 20px;">

链接和图片的高级用法

图片链接组合 将图片作为链接的可点击元素。

基本语法:

[![图片alt文本](图片URL)](链接URL)

实际示例:

[![GitHub项目截图](./images/project-screenshot.png)](https://github.com/username/project)
[![访问官网](https://example.com/logo.png)](https://example.com "点击访问官网")

常见应用场景:

<!-- 项目徽章 -->
[![Build Status](https://travis-ci.org/user/repo.svg?branch=master)](https://travis-ci.org/user/repo)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

<!-- 应用商店下载 -->
[![App Store](./images/app-store-badge.png)](https://apps.apple.com/app/your-app)
[![Google Play](./images/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.yourapp)

相对路径与绝对路径 相对路径的优势:

<!-- 项目结构 -->
project/
├── README.md
├── docs/
│   ├── guide.md
│   └── images/
│       └── screenshot.png
└── assets/
    └── logo.png

<!-- 在 README.md 中 -->
![Logo](./assets/logo.png)

<!-- 在 docs/guide.md 中 -->
![Screenshot](./images/screenshot.png)
![Logo](../assets/logo.png)

路径规划建议:

在项目根目录创建统一的资源文件夹 使用描述性的文件夹名称 保持路径结构的一致性 考虑静态网站生成器的路径规则

图片居中和对齐

方法一:HTML + CSS

<div style="text-align: center;">
  <img src="image.jpg" alt="居中图片" style="max-width: 100%;">
</div>

方法二:使用 HTML 对齐属性

<p align="center">
  <img src="image.jpg" alt="居中图片" width="400">
</p>

方法三:创建图片画廊

<div style="display: flex; justify-content: space-around; flex-wrap: wrap;">
  <img src="image1.jpg" alt="图片1" style="width: 30%; margin: 10px;">
  <img src="image2.jpg" alt="图片2" style="width: 30%; margin: 10px;">
  <img src="image3.jpg" alt="图片3" style="width: 30%; margin: 10px;">
</div>

实用的图片展示模板:

## 产品展示

### 主要功能
<table>
  <tr>
    <td align="center">
      <img src="./images/feature1.png" width="200" alt="功能1">
      <br>
      <strong>智能识别</strong>
      <br>
      <sub>AI驱动的图像识别技术</sub>
    </td>
    <td align="center">
      <img src="./images/feature2.png" width="200" alt="功能2">
      <br>
      <strong>快速处理</strong>
      <br>
      <sub>毫秒级响应速度</sub>
    </td>
  </tr>
</table>

### 界面预览
| 移动端 | 桌面端 |
|:---:|:---:|
| ![移动界面](./images/mobile.png) | ![桌面界面](./images/desktop.png) |
| 响应式设计,完美适配 | 大屏体验,功能齐全 |

性能优化建议:

优化图片大小和格式(WebP > PNG > JPG) 使用适当的图片尺寸,避免在网页中缩放大图 考虑使用图片压缩工具 为不同设备准备不同尺寸的图片

链接和图片的故障排除

常见问题及解决方案:

链接无法点击:检查语法格式,确保方括号和圆括号正确配对 图片无法显示:验证图片路径和文件存在性 图片过大:使用 HTML 控制尺寸或优化图片文件 链接在新窗口打开:使用 HTML 标签 调试技巧:

<!-- 测试链接是否有效 -->
测试链接:[点击测试](https://httpbin.org/get)

<!-- 测试图片路径 -->
![测试图片](./images/test.png)
<!-- 如果不显示,尝试绝对路径或检查文件名大小写 -->

Markdown 表格

表格和引用是 Markdown 中重要的内容组织工具。

表格能够清晰地展示结构化数据,而引用则用于突出重要信息或引用他人观点。

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。

语法格式如下:

|  表头   | 表头  |
|  ----  | ----  |
| 单元格  | 单元格 |
| 单元格  | 单元格 |

语法要点:

表头和数据行之间必须有分隔线 分隔线至少需要三个连字符 --- 两端的竖线 | 是可选的,但建议保留以提高可读性 不需要严格对齐,但对齐后更美观

对齐方式

我们可以设置表格的对齐方式:

---: 设置内容和标题栏居右对齐。 :--- 设置内容和标题栏居左对齐。 :---: 设置内容和标题栏居中对齐。 实例如下:

| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

复杂表格的处理技巧

元格内容格式化 表格单元格内可以使用大部分 Markdown 语法:

| 功能 | 描述 | 状态 |
|------|------|:----:|
| **用户登录** | 支持邮箱和手机号登录 | &#x2705; |
| *密码重置* | 通过邮箱重置密码 | &#x26a0;&#xfe0f; |
| `API接口` | RESTful API 设计 | &#x2705; |
| [文档链接](https://example.com) | 查看详细文档 | &#x1f4d6; |

处理长文本

当单元格内容较长时,可以使用以下技巧:

换行处理:

| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 1. 收集用户需求<br>2. 分析业务场景<br>3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript<br>后端:Node.js + Express<br>数据库:MongoDB |

缩写和链接:

| 技术栈 | 说明 | 官网 |
|--------|------|------|
| React | 用户界面库 | [链接](https://reactjs.org) |
| Vue.js | 渐进式框架 | [链接](https://vuejs.org) |
| Angular | 完整的框架 | [链接](https://angular.io) |

表格中的特殊字符 某些字符在表格中有特殊含义,需要转义:

| 字符 | 转义方法 | 示例 |
|------|----------|------|
| 竖线 | `\|` | 显示 \| 符号 |
| 反斜杠 | `\\` | 显示 \\ 符号 |
| HTML | 直接使用 | <code>&lt;div&gt;</code> |

表格美化建议

使用 Emoji 和符号

| 状态 | 图标 | 说明 |
|:----:|:----:|------|
| 完成 | &#x2705; | 任务已完成 |
| 进行中 | &#x1f504; | 正在处理 |
| 待处理 | &#x23f3; | 等待开始 |
| 错误 | &#x274c; | 出现问题 |
| 警告 | &#x26a0;&#xfe0f; | 需要注意 |

数据表格最佳实践 财务数据表格:

| 月份 | 收入 | 支出 | 利润 | 增长率 |
|:----:|-----:|-----:|-----:|-------:|
| 1月 | ¥50,000 | ¥35,000 | ¥15,000 | - |
| 2月 | ¥55,000 | ¥38,000 | ¥17,000 | +13.3% |
| 3月 | ¥62,000 | ¥42,000 | ¥20,000 | +17.6% |
| **总计** | **¥167,000** | **¥115,000** | **¥52,000** | **+31.1%** |

技术对比表格:

| 特性 | React | Vue.js | Angular | 评分 |
|------|:-----:|:------:|:-------:|:----:|
| 学习曲线 | 中等 | 简单 | 复杂 | Vue &#x2b50;&#x2b50;&#x2b50; |
| 性能表现 | 优秀 | 优秀 | 良好 | 平分 &#x2b50;&#x2b50;&#x2b50; |
| 生态系统 | 丰富 | 成长中 | 完整 | React &#x2b50;&#x2b50;&#x2b50; |
| 企业支持 | Facebook | 社区 | Google | Angular &#x2b50;&#x2b50;&#x2b50; |

响应式表格处理 对于复杂表格,可以考虑分解为多个简单表格。

移动端友好的设计:

### 基本信息
| 项目 | 值 |
|------|-----|
| 姓名 | 张三 |
| 年龄 | 25 |
| 职业 | 工程师 |

### 联系方式
| 类型 | 信息 |
|------|------|
| 邮箱 | zhang@example.com |
| 电话 | 100-0000-8000 |
| 地址 | 北京市朝阳区 |

Markdown 高级技巧

支持的 HTML 元素

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等 ,如:

使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

**文本加粗** 
\*\* 正常显示星号 \*\*

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\   反斜线
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
()  小括号
#   井字号
+   加号
-   减号
.   英文句点
!   感叹号

公式

Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。

KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。你可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。

默认下的分隔符:

$...$或者 \(...\)中的数学表达式将会在行内显示。 $$...$$ 或者\[...\]或者`math中的数学表达式将会在块内显示。

$$
\begin{Bmatrix}
   a & b \\
   c & d
\end{Bmatrix}
$$
$$
\begin{CD}
   A @>a>> B \\
@VbVV @AAcA \\
   C @= D
\end{CD}
$$

分割线

分割线用于在视觉上分隔文档的不同部分,创建清晰的内容层次。

水平分割线的三种写法

Markdown 支持三种方式创建水平分割线:

1、使用三个连字符:

---

2、使用三个星号:

***

3、使用三个下划线:

___

所有三种方式的渲染效果相同:

扩展写法

可以使用更多的符号,但三个是最小要求:

-----
*****
_____

空格的影响:符号之间可以有空格。

- - -
* * *
_ _ _

分割线的使用场景

章节分隔

# 第一章:概述

内容描述...

---

# 第二章:安装

安装步骤...

---

# 第三章:使用

使用说明...

内容区块分隔

## 产品特性

### 核心功能
- 功能A
- 功能B
- 功能C

---

### 技术优势
- 优势1
- 优势2
- 优势3

---

### 应用场景
场景描述...
页面底部分隔
markdown正文内容...

---

## 相关链接

- [官方网站](https://example.com)
- [技术文档](https://docs.example.com)
- [社区论坛](https://forum.example.com)

---

*最后更新:2024年3月15日*

引用和正文分隔

项目介绍的正文内容...

---

> **免责声明**
> 
> 本软件按"原样"提供,不提供任何形式的明示或暗示担保。

---

继续其他内容...

分割线的最佳实践

避免过度使用:

# 标题

内容1

--- (不必要的分割线)

## 子标题

内容2

合理的使用:

# 项目文档

项目简介...

---

## 安装指南

安装步骤...

---

## 使用说明

使用方法...

---

## 常见问题

FAQ内容...

与其他元素的配合:

## 版本历史

### v2.0.0 (2024-03-15)
- 新增功能A
- 修复问题B

---

### v1.5.0 (2024-02-01)
- 新增功能C
- 优化性能

---

### v1.0.0 (2024-01-01)
- 初始版本发布

Markdown 数学公式

LaTeX 数学公式基础

在 Markdown 中,数学公式通过 LaTeX 语法来表示。LaTeX 是一个强大的排版系统,特别适用于包含复杂数学公式的文档。

基本语法结构 命令:以反斜杠 \ 开头,如 \alpha、\sum 参数:用花括号 {} 包围,如 \frac{a}{b} 下标:使用 _,如 x1 上标:使用 ^,如 x^2 分组:用花括号将多个字符组合,如 x{i+1} 常用 LaTeX 命令

\alpha, \beta, \gamma  % 希腊字母
\sum, \prod, \int      % 求和、乘积、积分
\frac{分子}{分母}      % 分数
\sqrt{表达式}          % 平方根
\sqrt[n]{表达式}       % n次根

行内公式与块级公式

行内公式 行内公式使用单个美元符号 $ 包围,公式会嵌入到文本中,如:文本中的变量 $x = 5$ 和函数 $f(x) = x^2 + 2x + 1$。

块级公式 块级公式使用双美元符号 $$ 包围,公式会独立成行并居中显示:

E = mc^2

\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}

$$E = mc^2$$

$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$

多行公式 使用 align 环境创建多行对齐公式:

\begin{align} f(x) &= ax^2 + bx + c \ f'(x) &= 2ax + b \ f''(x) &= 2a \end{align}

$$
    \begin{align}
    f(x) &= ax^2 + bx + c \\
    f'(x)  &= 2ax + b \\
    f''(x)  &= 2a
    \end{align}
    $$

常用数学符号

基本运算符号

加减乘除:+, -, \times, \div 分数:\frac{a}{b} → $\frac{a}{b}$ 根号:\sqrt{x}, \sqrt[n]{x} → $\sqrt{x}$, $\sqrt[n]{x}$ 指数:x^2, e^{i\pi} → $x^2$, $e^{i\pi}$

比较符号

等于:=, \neq, \equiv → $=$, $\neq$, $\equiv$ 大小:<, >, \leq, \geq → $<$, $>$, $\leq$, $\geq$ 约等于:\approx, \sim → $\approx$, $\sim$

集合符号

属于:\in, \notin → $\in$, $\notin$ 包含:\subset, \supset → $\subset$, $\supset$ 交并:\cap, \cup → $\cap$, $\cup$ 空集:\emptyset → $\emptyset$

希腊字母

常用希腊字母及其 LaTeX 表示:

特殊函数和符号

三角函数:\sin, \cos, \tan 对数:\log, \ln 极限:\lim{x \to 0} 求和:\sum{i=1}^{n} 积分:\int_{a}^{b} 无穷:\infty

矩阵表示

使用 matrix 环境:

\begin{pmatrix} a & b \ c & d \end{pmatrix}

$$
    \begin{pmatrix}
    a & b \\
    c & d
    \end{pmatrix}
    $$

不同括号类型的矩阵:

pmatrix:圆括号 $\begin{pmatrix} a & b \ c & d \end{pmatrix}$ bmatrix:方括号 $\begin{bmatrix} a & b \ c & d \end{bmatrix}$ vmatrix:行列式 $\begin{vmatrix} a & b \ c & d \end{vmatrix}$

Markdown 图表绘制

图表在技术文档中非常重要,它可以帮助我们:

可视化复杂的数据关系 展示系统架构和工作流程 更清晰地表达思想和概念

常见的 Markdown 图表工具

Mermaid Mermaid 是最流行的 Markdown 图表工具之一,它允许你使用简单的文本语法生成各种图表。

支持图表类型: 流程图 (Flowchart) 序列图 (Sequence Diagram) 类图 (Class Diagram) 状态图 (State Diagram) 甘特图 (Gantt Chart) 饼图 (Pie Chart)

流程图

graph TD
    A[开始] --> B{条件判断}
    B -->|Yes| C[执行操作A]
    B -->|No| D[执行操作B]
    C --> E[结束]
    D --> E

流程图方向 TD 或 TB:从上到下 BT:从下到上 RL:从右到左 LR:从左到右 节点形状 A[方形]:矩形 B(圆角矩形):圆角矩形 C{菱形}:菱形(决策) D((圆形)):圆形 E>旗帜形]:旗帜形 连接线类型 --> 实线箭头 -.-> 虚线箭头 ==> 粗实线箭头 -- 实线 -. 虚线

时序图和甘特图

时序图(Sequence Diagram)

sequenceDiagram
    participant A as 用户
    participant B as 系统
    participant C as 数据库
    
    A->>B: 登录请求
    B->>C: 验证用户信息
    C-->>B: 返回验证结果
    B-->>A: 登录成功/失败

时序图语法要点:

participant 定义参与者 ->> 实线箭头 -->> 虚线箭头 note 添加注释 甘特图(Gantt Chart)

gantt
    title 项目开发计划
    dateFormat  YYYY-MM-DD
    section 设计阶段
    需求分析      :done,    des1, 2024-01-01,2024-01-15
    UI设计       :active,  des2, 2024-01-10, 30d
    section 开发阶段
    前端开发      :         dev1, after des2, 45d
    后端开发      :         dev2, 2024-02-01, 60d
    section 测试阶段
    单元测试      :         test1, after dev1, 15d
    集成测试      :         test2, after dev2, 10d

甘特图语法要点:

title 设置标题 dateFormat 定义日期格式 section 定义阶段 任务状态:done(已完成)、active(进行中)、crit(关键)

饼图

pie
    title 浏览器市场份额
    "Chrome" : 65
    "Safari" : 15
    "Firefox" : 10
    "其他" : 10

图表类型详解

流程图 (Flowchart) 流程图是最常用的图表类型,用于展示过程或算法流程。

Mermaid 示例:

graph LR
    A[开始] --> B{条件判断}
    B -->|是| C[执行操作1]
    B -->|否| D[执行操作2]
    C --> E[结束]
    D --> E

语法说明: graph 声明流程图 LR 表示从左到右布局 (可选 TB/RL/BT) --> 表示箭头连接 [] 表示矩形节点 {} 表示菱形条件节点

序列图 (Sequence Diagram) 序列图展示对象之间的交互顺序。

Mermaid 示例:

sequenceDiagram
    participant 用户
    participant 系统
    用户->>系统: 登录请求
    系统-->>用户: 验证请求
    用户->>系统: 提交凭证
    系统-->>用户: 登录成功

语法说明: participant 定义参与者 ->> 表示实线箭头 -->> 表示虚线箭头

类图 (Class Diagram) 类图用于面向对象设计,展示类及其关系。

classDiagram
    class 用户 {
        +用户名: string
        +密码: string
        +登录()
    }
    
    class 订单 {
        +订单号: int
        +创建日期: date
        +计算总价()
    }
    
    用户 "1" --> "n" 订单

高级技巧

  1. 主题定制 Mermaid 允许自定义图表样式:

%%{init: {'theme': 'forest'}}%%
pie
    title 自定义主题
    "项目A" : 30
    "项目B" : 50
    "项目C" : 20
  1. 交互式图表 一些工具支持添加交互功能:

graph TD
    A[点击我] --> B[显示详细信息]
    click A "https://www.runoob.com" "这是提示文本"
  1. 导出图表 大多数工具支持将图表导出为:

PNG 图片 SVG 矢量图 PDF 文档

工具支持情况

最佳实践

保持简洁:图表应该简单明了,避免过多细节 统一风格:同一文档中的图表应保持一致的风格 添加说明:为复杂图表添加文字说明 版本控制:文本格式的图表可以很好地与 Git 配合使用 测试渲染:在不同平台上测试图表显示效果

常见问题解答

Q1: 为什么我的图表无法显示? 检查是否使用了正确的语法 确认你的 Markdown 编辑器/平台支持该图表工具 查看是否有语法错误 Q2: 如何学习这些图表语法? 参考官方文档: Mermaid 官方文档 PlantUML 官方文档 使用在线编辑器实时练习 Q3: 有没有可视化编辑器? Mermaid Live Editor: https://mermaid.live PlantUML Server: http://www.plantuml.com/plantuml