Markdown 是一种轻量级标记语言,由约翰·格鲁伯(John Gruber)于 2004 年创建,旨在让文档编写更简单易读。它使用纯文本格式编写内容,然后可以轻松转换为 HTML 或其他格式,比如网页、PDF 等。 简单来说,Markdown 让你的文本文件既适合人类阅读,也适合机器处理。
Markdown 的灵感来源于电子邮件和早期的标记语言(如 Setext 和 Textile)。它由格鲁伯和亚伦·斯沃茨(Aaron Swartz)合作开发,目的是解决编写文档时那些繁琐的 HTML 标签问题。从 2004 年发布以来,它迅速流行开来,现在几乎到处都能看到。
易读易写:不像 HTML 那样满屏标签,Markdown 的语法超级直观,你几乎不用记住什么,就能写出格式化的文本。
轻量级:文件小巧,便于存储和分享。
兼容性强:支持嵌入图片、表格、数学公式等,还能直接在浏览器中预览。
跨平台:不管是 Windows、Mac 还是手机,都能用文本编辑器编辑。
使用 # 符号创建标题,数量表示层级(1-6):
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
段落通过空行分隔,普通文本直接输入即可。
换行需在行末添加两个空格或一个空行。
示例
这是第一段内容。
这是第二段内容,需要换行。
这是第三段,使用空行分隔。
效果
这是第一段内容。
这是第二段内容,需要换行。
这是第三段,使用空行分隔。
*斜体*
或 _斜体_
:用单星号或下划线。
**粗体**
或 __粗体__
:用双星号或双下划线。
~~删除线~~
:用双波浪线。
这是 *斜体* 文本,**粗体** 文本,~~删除线~~ 文本。
无序列表: 用 -
、*
或 +
开头。
有序列表: 用数字后跟 .。
嵌套列表需缩进 2-4 空格。
示例
- 水果
- 苹果
- 香蕉
- 蔬菜
- 西红柿
1. 第一步
2. 第二步
- 子步骤
效果
链接:[文本](URL)
。
图片:
。
示例
访问 Google
行内代码:用单反引号 code
。
代码块:用三反引号 ```,可选指定语言。
示例
行内代码:print("Hello")
def hello():
print("Hello, World!")
效果
print("Hello")
```python
def hello():
print("Hello, World!")
用 |
分隔列,-
定义表头和内容,:---
控制对齐。
示例
| 姓名 | 年龄 | 城市 |
|--------|------|---------|
| 张三 | 25 | 北京 |
| 李四 | 30 | 上海 |
效果
姓名 | 年龄 | 城市 |
---|---|---|
张三 | 25 | 北京 |
李四 | 30 | 上海 |
用 >
创建引用,嵌套用多个 >
。
示例
> 这是一个引用。
> > 嵌套引用。
效果
这是一个引用。
嵌套引用。
用 ---
、**
或 ***
创建横线。
---
用 [ ](未完成)或 [x](完成)创建待办事项。 示例:
效果:
在 Markdown 中,某些特殊字符(如 *、# 等)有特定的语法意义。如果需要在文本中直接显示这些字符而非触发其语法功能,需要使用转义字符。转义字符通过在特殊字符前添加反斜杠 \ 来实现,使其被视为普通字符。
以下字符在 Markdown 中有特殊含义,需要转义以显示原始形式:
\
反斜杠*
星号(用于强调)_
下划线(用于强调){}
大括号(部分渲染器用于扩展语法)[]
方括号(用于链接或图片)()
圆括号(用于链接 URL)#
井号(用于标题)+
加号(用于无序列表)-
减号(用于无序列表).
点号(用于有序列表)!
感叹号(用于图片)|
竖线(用于表格)Markdown 现在超级流行!比如:
GitHub:README 文件几乎全用它写项目说明。 博客平台:如简书、CSDN、知乎,用来快速发文。 笔记工具:Obsidian、Typora 等支持 Markdown 编辑。 聊天和论坛:Reddit、Discord、Slack 等平台用它格式化消息。 电子书:可以导出成 ePub