
TIP原文链接
介绍
什么是 Markdown ?
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 的设计理念是”易读易写”,让人们能够使用简单的纯文本格式来编写结构化文档。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
Markdown 的核心特点包括:
简洁性: 使用直观的符号来表示格式,比如用 # 表示标题,用 * 表示列表项。这些符号在视觉上就能传达其含义,即使不进行渲染也具有良好的可读性。
可读性: 即使是纯文本形式的 Markdown 文档,也能清晰地展现文档的结构和层次。读者无需专门的软件就能理解内容的组织方式。
便携性: Markdown 文件是纯文本格式,可以在任何文本编辑器中打开和编辑,不依赖特定的软件或操作系统。
转换性: 可以轻松转换为 HTML、PDF、Word 文档等多种格式,满足不同的发布需求。
轻量级标记语言的概念
标记语言是一种用特定符号来描述文档结构和格式的语言。传统的标记语言如 HTML 功能强大但语法复杂,而轻量级标记语言则简化了这一过程。
与 HTML 相比,Markdown 的优势在于:
学习成本低,几分钟就能掌握基本语法
编写效率高,无需输入复杂的标签
专注内容,而非格式细节
版本控制友好,便于协作和变更追踪
Markdown 与 HTML 的关系
Markdown 并不是 HTML 的替代品,而是 HTML 的简化版本。实际上,Markdown 的最终目标就是转换为 HTML。两者的关系可以这样理解:
Markdown 源码 → 解析器 → HTML 输出 → 浏览器渲染例如,当你写下:
# XUIOO 博客标题它会被转换为:
<h1>XUIOO 博客标题</h1>重要的是,在 Markdown 中你可以直接使用 HTML 标签,这为复杂格式提供了灵活性。当 Markdown 的基础语法无法满足需求时,可以嵌入 HTML 代码来实现特定效果。
为什么选择 Markdown
提高写作效率: 无需频繁使用鼠标进行格式设置,可以保持思路的连贯性。写作者可以专注于内容创作,而不被格式问题分散注意力。
降低学习门槛: 相比于 LaTeX、HTML 等标记语言,Markdown 的语法极其简单,大多数人可以在一小时内掌握基本用法。
广泛兼容性: 几乎所有的现代文本编辑器、代码编辑器、笔记应用都支持 Markdown。从简单的记事本到专业的 IDE,你都能找到 Markdown 的身影。
版本控制友好: 由于是纯文本格式,Markdown 文件可以很好地与 Git 等版本控制系统配合,便于追踪文档的修改历史和团队协作。
未来适应性: 即使特定的软件或平台消失,Markdown 文件作为纯文本仍然可以被访问和编辑,确保了内容的长期可用性。
Markdown 的应用场景
技术文档编写
在软件开发领域,Markdown 已成为技术文档的标准格式。它特别适合:
API 文档: 清晰的标题层次和代码块展示,让 API 说明既专业又易读。许多 API 文档生成工具(如 Swagger)都支持 Markdown 格式的描述。
项目说明: 从安装指南到使用手册,Markdown 能够有效组织技术信息。代码示例、配置文件、命令行操作都能得到恰当的展示。
开发规范: 团队的编码规范、设计准则、工作流程等都可以用 Markdown 编写,方便团队成员查阅和更新。
博客文章创作
现代的博客平台和静态网站生成器大多支持 Markdown:
内容管理: 博主可以专注于内容创作,而不必担心复杂的 HTML 编码。文章的格式化通过简单的标记即可完成。
平台迁移: 使用 Markdown 编写的文章可以轻松在不同平台间迁移,不会因为平台特有的格式而被锁定。
离线编写: 可以在任何文本编辑器中离线编写文章,然后批量发布,提高了写作的灵活性。
GitHub README 文件
GitHub 平台广泛使用 Markdown,特别是项目的 README 文件:
项目介绍: 清晰展示项目的目的、特性、使用方法等关键信息。
安装指南: 通过代码块和列表,提供详细的安装和配置步骤。
贡献指南: 说明如何参与项目开发,包括代码规范、提交流程等。
问题跟踪: 在 Issues 和 Pull Requests 中,开发者使用 Markdown 来描述问题、提供解决方案。
笔记记录和知识管理
Markdown 正成为数字笔记的首选格式:
学习笔记: 支持数学公式、代码高亮、图表等多种内容类型,适合技术学习和知识整理。
会议记录: 清晰的标题结构和列表格式,让会议要点一目了然。
知识库建设: 企业和个人都在使用 Markdown 构建知识库,通过链接和标签组织信息。
在线写作平台
越来越多的写作平台开始支持 Markdown:
GitHub、简书、知乎: 这些平台的编辑器支持 Markdown 语法,让创作者能够快速格式化文章。
GitBook、Notion: 专业的文档和笔记平台,原生支持 Markdown,提供强大的组织和协作功能。
静态博客生成器: Jekyll、Hugo、Hexo 等工具让用户能够用 Markdown 创建专业的网站。
有用的书籍
《了不起的Markdown》:
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/ZettlrJoplin
免费开源的支持 markdown 的笔记应用。
官网:https://joplinapp.org/
3. 在线编辑器
Markdown 在线编辑器
https://www.jyshare.com/front-end/712/Dillinger
功能齐全的在线 Markdown 编辑器,支持云同步和多种导出格式。
官网:https://dillinger.io/StackEdit
基于浏览器的编辑器,与 Google Drive、Dropbox 等云服务集成。
官网:https://stackedit.io/简书、语雀编辑器
国内平台提供的在线 Markdown 编辑环境。
操作教程
创建第一个 Markdown 文件
现在让我们创建第一个 Markdown 文件来开始实践:
步骤1:创建文件
打开你选择的编辑器
创建一个新文件
将文件保存为 XUIOO.md(注意扩展名是 .md)
步骤2:编写内容
# 我的的第一个 Markdown 文档
这是我学习 Markdown 的开始。
## 学习目标
- 掌握基本语法- 了解应用场景- 能够独立创作文档
## 今天的感受
学习 Markdown 比我想象的**简单**,我对接下来的学习充满*期待*!
---
> 学习是一个持续的过程,每一小步都是进步。步骤3:预览效果

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

- 可以观察源码和渲染结果的对应关系。
步骤4:实验和探索
尝试修改文件内容:
改变标题级别(增加或减少 # 号)
添加更多的列表项
尝试不同的强调方式
通过这个简单的练习,你已经创建了第一个 Markdown 文档,并体验了基本的语法效果。
记住,学习 Markdown 最好的方法就是实践。在阅读教程的同时,不断地在编辑器中尝试各种语法,观察它们的渲染效果。随着实践的增加,你会发现 Markdown 的简洁和强大。
Markdown 标题
Markdown 标题有两种格式。
1. 使用 = 和 - 标记一级和二级标题
= 和 - 标记语法格式如下:
我展示的是一级标题=================
我展示的是二级标题-----------------显示效果如下图:

2. 使用 # 号标记
Markdown 使用 # 号来创建标题,这是从 HTML 的 <h1> 到 <h6> 标签概念演化而来的。
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题显示效果如下图:

重要注意事项:
符号与文字间的空格:# 号和标题文字之间必须有一个空格。这是标准的 Markdown 语法要求。
# 正确写法#错误写法行首位置:# 号必须在行首,前面不能有其他字符(空格或制表符)。
唯一的一级标题:在一个文档中,通常只使用一个一级标题作为文档的主标题,这符合良好的文档结构规范。
标题的嵌套结构
标题的层次结构应该遵循逻辑顺序,不应该跳级使用。良好的标题结构就像一本书的目录:
推荐的层次结构:
# 主题:人工智能概述
## 第一部分:基础概念### 什么是人工智能### 发展历史#### 早期发展(1950-1980)#### 现代发展(1980至今)
## 第二部分:应用领域### 自然语言处理### 计算机视觉### 机器学习#### 监督学习#### 无监督学习#### 强化学习避免的错误结构:
# 主标题### 直接跳到三级标题(不推荐)## 然后才是二级标题标题编号的最佳实践
自动编号 vs 手动编号:
许多 Markdown 处理器和编辑器支持自动生成标题编号,因此在源码中通常不需要手动添加编号:
# 引言## 背景## 目标# 方法论## 数据收集## 分析方法标题锚点:
大多数 Markdown 处理器会自动为标题创建锚点(anchor),便于页面内跳转:
[跳转到方法论部分](#方法论)标题长度建议:
- 保持标题简洁明了,一般不超过 10 个汉字或 20 个英文字符
- 使用描述性词语,避免模糊的标题如”其他”、“杂项”
- 可以使用冒号来分隔主题和副主题
Markdown 文本格式
Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。

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

字体
文本强调是写作中的重要技巧,Markdown 提供了简洁的方式来实现粗体和斜体效果。
Markdown 可以使用以下几种字体:粗体和斜体。
粗体语法:
使用两个星号 ** 或两个下划线 __ 包围文字:
这是**粗体文字**使用星号这是__粗体文字__使用下划线斜体语法:
使用一个星号 * 或一个下划线 _ 包围文字:
这是*斜体文字*使用星号这是_斜体文字_使用下划线粗斜体组合:
使用三个星号 *** 或三个下划线 ___。
*斜体文本*_斜体文本_**粗体文本**__粗体文本__***粗斜体文本***___粗斜体文本___显示效果如下所示:

混合使用技巧:
这段文字包含**粗体**、*斜体*和***粗斜体***的组合效果。渲染效果如下:

使用建议:
- 推荐使用星号
*而不是下划线_,因为星号在各种 Markdown 解析器中兼容性更好 - 不要过度使用强调,重点突出才有效果
- 在中英文混合时,建议在强调符号前后加空格以提高可读性
分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
***
* * *
*****
- - -
----------显示效果如下所示:

删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
XUWORD.COM
XUIOO.COM
~~PSSY.CN~~显示效果如下所示:

下划线
下划线可以通过 HTML 的 <u> 标签来实现:
<u>带下划线文本</u>显示效果如下所示:

行内代码标记
行内代码用于在正文中标记代码片段、命令、变量名等:
基本语法:
使用一个反引号 ` 包围代码:
使用 `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 列表
CAUTION无法加载!
请 点击此处跳转 !
我的白月光:
评论区
———— 来留下你的痕迹吧 ————
部分信息可能已经过时




















