markdown使用方法
1. 什么是 Markdown
Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。Markdown 由 John Gruber 于 2004 年创建,如今已成为世界上最受欢迎的标记语言之一。
核心特点:
- 纯文本,任何编辑器都可打开
- 语法简单,学习成本低
- 可轻松转换为 HTML、PDF 等格式
- 被 GitHub、Notion、Obsidian 等大量平台支持
2. 常用语法速查
2.1 标题
代码:
# 一级标题## 二级标题### 三级标题效果:
一级标题
二级标题
三级标题
2.2 强调
代码:
*斜体* 或 _斜体_**粗体** 或 __粗体__***粗斜体***效果:
斜体 或 斜体
粗体 或 粗体
粗斜体
2.3 列表
无序列表 - 代码:
- 项目一- 项目二 - 子项目无序列表 - 效果:
- 项目一
- 项目二
- 子项目
有序列表 - 代码:
1. 第一项2. 第二项有序列表 - 效果:
- 第一项
- 第二项
2.4 链接和图片
代码:
[百度](https://www.baidu.com)
效果:

2.5 代码块
代码:
```pythonprint("Hello Markdown")**效果:**
```pythonprint("Hello Markdown")2.6 引用
代码:
> 这是一段引用内容> 可以多行效果:
这是一段引用内容 可以多行
2.7 表格
代码:
| 语法 | 效果 ||------|------|| *斜体* | 倾斜文字 || **粗体** | 加粗文字 |效果:
| 语法 | 效果 |
|---|---|
| 斜体 | 倾斜文字 |
| 粗体 | 加粗文字 |
2.8 任务列表
代码:
- [x] 已完成事项- [ ] 未完成事项效果:
- 已完成事项
- 未完成事项
2.9 分隔线
代码:
---效果:
3. Markdown 扩展功能:Expressive Code
基础的代码块展示能力有限。借助 Expressive Code 这类工具,你可以创建专业级的代码示例,包括编辑器外观、终端外观、行标记、文本高亮、代码折叠等功能。
Expressive Code 适用于 Astro、Starlight、VitePress 等现代静态站点生成器。
3.1 模拟编辑器框架
通过 frame="editor" 属性,让代码块显示为代码编辑器外观,并支持自定义文件标题。
代码:
console.log('标题属性示例');效果:
console.log('标题属性示例');3.2 模拟终端框架
通过 frame="terminal" 属性,让代码块显示为终端窗口外观。
代码:
Write-Output "这个有标题!"效果:
Write-Output "这个有标题!"不设标题的终端:
echo "此终端框架没有标题"3.3 覆盖框架类型
使用 frame="none" 可以移除框架,只显示纯代码块。
代码:
console.log('看,没有框架!');效果:
console.log('看,没有框架!');3.4 标记整行或行范围
使用 mark、ins(插入)、del(删除)等属性来高亮指定行。
代码:
// 第1行 - 通过行号定位// 第2行 - 此行标记为删除// 第3行// 第4行 - 通过行号定位// 第5行 - 此行标记为插入效果:
// 第1行 - 通过行号定位// 第2行 - 此行标记为删除// 第3行// 第4行 - 通过行号定位// 第5行 - 此行标记为插入标记行范围:
// 第1行 - 通过行号定位// 第2行 - 此行标记为删除// 第3行// 第4行 - 通过行号定位// 第5行 - 范围 "5-6" 标记为插入// 第6行 - 范围 "5-6" 标记为插入3.5 为行标记添加标签
使用 mark 属性时,可以同时添加自定义标签文字。
代码:
// 这一行会有一个"可折叠"标签// 这一行没有标签console.log('正常工作');3.6 使用类似 Diff 的语法
使用 + 和 - 符号直观标记新增或删除的行。
代码:
此行将标记为已删除此行将标记为已插入这是常规行效果:
此行将标记为已删除此行将标记为已插入这是常规行结合语法高亮:
// 整个块都会以 JavaScript 高亮显示- console.log('要删除的旧代码');+ console.log('新的闪亮代码!');3.7 标记行内的单独文本
使用 mark 属性配合正则表达式,高亮行内的特定单词。
代码:
function demo() { // 标记行内的任何给定文本 return '支持给定文本的多个匹配项';}效果:
function demo() { // 标记行内的任何给定文本 return '支持给定文本的多个匹配项';}3.8 自动换行
使用 wrap 属性控制长代码是否自动换行。
开启换行(wrap=true):
// 这是一个非常长的字符串,除非容器极宽,否则很可能无法适应可用空间function getLongString() { return '这是一个非常长的字符串,除非容器极宽,否则很可能无法适应可用空间';}关闭换行(wrap=false):
// 这是一个非常长的字符串,除非容器极宽,否则很可能无法适应可用空间function getLongString() { return '这是一个非常长的字符串,除非容器极宽,否则很可能无法适应可用空间';}3.9 可折叠部分
使用 collapse 属性将长代码或样板代码折叠起来。
代码:
// 所有这些样板设置代码将被折叠import { someBoilerplateEngine } from '@example/some-boilerplate';import { evenMoreBoilerplate } from '@example/even-more-boilerplate';
// 直到块末尾的所有代码将再次被折叠function main() { console.log('实际业务代码');}效果:
// 所有这些样板设置代码将被折叠import { someBoilerplateEngine } from '@example/some-boilerplate';import { evenMoreBoilerplate } from '@example/even-more-boilerplate';
// 直到块末尾的所有代码将再次被折叠function main() { console.log('实际业务代码');}3.10 显示行号
使用 showLineNumbers 属性开启行号显示。
代码:
// 此代码块将显示行号console.log('来自第2行的问候!');console.log('我在第3行');效果:
// 此代码块将显示行号console.log('来自第2行的问候!');console.log('我在第3行');更改起始行号:
// 此行显示为第5行console.log('来自第6行的问候!');3.11 如何启用 Expressive Code
Expressive Code 是 Astro 生态的插件。如果你的博客基于 Astro 或 Starlight,可以按以下步骤集成:
1. 安装:
npm install expressive-code2. 配置(astro.config.mjs):
import { defineConfig } from 'astro/config';import expressiveCode from 'expressive-code';
export default defineConfig({ integrations: [expressiveCode()],});3. 使用:
之后在 Markdown 或 MDX 文件中,即可通过上述语法使用所有功能。
更详细的安装与配置选项,建议查阅 Expressive Code 官方文档。
4. 小贴士
| 场景 | 建议 |
|---|---|
| 写教程 | 代码块 + 实际效果对比展示 |
| 记笔记 | 多用列表和标题,少用复杂格式 |
| 写博客 | 善用引用块突出金句 |
| 团队文档 | 统一代码块语言标识 |
5. 写在最后
掌握 Markdown 不需要背语法,用的时候查一下,一周左右就能形成肌肉记忆。
推荐练习方式:每天用 Markdown 写一篇短笔记,一周即可熟练。
参考资料
Markdown 基础语法
本文中 Markdown 基础语法部分参考自以下官方文档和资料:
-
Microsoft Learn - Markdown 是什么?
- 说明:Markdown 基础语法官方教程,涵盖标题、强调、列表、链接、代码块、表格、任务列表等
- 链接:https://learn.microsoft.com/zh-cn/training/modules/communicate-using-markdown/2-what-is-markdown
-
Microsoft Learn - Markdown 最佳做法
- 说明:Markdown 编写规范与最佳实践,包括标题规则、列表格式、链接规范等
- 链接:https://learn.microsoft.com/zh-cn/powershell/scripting/community/contributing/general-markdown
-
阿里云文档中心 - Markdown 使用指南
- 说明:Markdown 基本语法与使用示例,包含标题、强调、列表、链接、图片、表格、任务列表等
- 链接:https://help.aliyun.com/zh/mobi/markdown-usage-guide
-
阿里云开发者社区 - MarkDown 语法手册
- 说明:完整的 Markdown 语法整理,涵盖斜体粗体、标题、超链接、锚点、列表、引用、代码等
- 链接:https://developer.aliyun.com/article/75499
-
腾讯云开发者社区 - Markdown简要语法规则
- 说明:Markdown 常用语法速查
- 链接:https://cloud.tencent.cn/developer/article/2563180
-
百度开发者中心 - Markdown中如何添加参考文献和引用
- 说明:Markdown 中添加引用和参考文献的方法
- 链接:https://developer.baidu.com/article/details/2970779
Expressive Code 扩展功能
本文中 Expressive Code 部分参考自以下官方文档:
-
Expressive Code 官方文档 - Text & Line Markers
- 说明:行标记与文本标记功能的详细用法
- 链接:https://expressive-code.com/key-features/text-markers/
-
Expressive Code 官方文档 - Editor & Terminal Frames
- 说明:编辑器框架与终端框架功能的详细用法
- 链接:https://expressive-code.com/key-features/frames/
-
Expressive Code 官方文档 - Configuration
- 说明:配置 Expressive Code 的方式与选项
- 链接:https://expressive-code.com/reference/configuration/
-
Expressive Code GitHub 仓库
- 说明:项目源码、贡献指南、包结构说明
- 链接:https://github.com/expressive-code/expressive-code
-
@expressive-code/core - npm 包
- 说明:Expressive Code 核心引擎的安装与使用示例
- 链接:https://www.npmjs.com/package/@expressive-code/core
扩展阅读
- Expressive Code 官方文档首页:https://expressive-code.com/
- Astro 集成文档:https://docs.astro.build/en/guides/integrations-guide/expressive-code/
- 《了不起的 Markdown》- 毕小朋著,电子工业出版社,2025
- 说明:Markdown 标准语法与扩展技巧,从基础写作到智能知识管理的完整指南
END
感谢您的阅读!
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
浙公网安备33052202000909号