Markdown 是一种轻量级标记语言,使用简单的语法来格式化文本。它的设计初衷是让文本既可以用作文档的源代码,又能够轻松地转换为 HTML 或其他格式。Markdown 语法简单易学,非常适合编写博客、文档、技术笔记、README 文件等。
Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。如GitHub、Reddit、Discord、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、简书等,甚至还能被用来撰写电子书。
Markdown 背景
Markdown 于 2004 年由 John Gruber 和 Aaron Swartz 设计,其初衷是为了解决 HTML 这种复杂标记语言编写困难的问题。传统的 HTML 标记代码虽然功能强大,但学习成本高,编写起来冗长、不直观,不便于阅读和书写。Markdown 的出现为解决这一痛点提供了简化方案,开发者可以使用一种轻量级的标记语言快速生成格式化文本。
随着时间的推移,出现了许多 Markdown 实现。人们开发这些主要是由于在基本语法之上需要额外的功能 - 例如表格,脚注,定义列表(技术上的HTML描述列表)和 HTML块内的 Markdown。其中一些行为偏离了最开始的参考实现。与此同时,非正式规范中的一些含糊不清引起了人们的注意。这些问题促使 Markdown 解析器的一些开发人员努力实现标准化。2016年3月发布了 RFC 776 3和 RFC 7764 。RFC 7763 从原始变体引入了MIME类型 text/markdown。RFC 7764讨论并注册了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等变体。
Markdown 实践
以下是一个简单的 Markdown 示例,包含常见的标题、列表、链接、图片和代码块:
# 一级标题
## 二级标题
### 三级标题
这是一个 **加粗** 的文字示例,这是 *斜体* 的文字示例。
#### 列表:
- 项目1
- 项目2
- 子项目1
- 子项目2
#### 有序列表:
1. 第一项
2. 第二项
3. 第三项
#### 链接:
[点击这里访问 Google](https://www.google.com)
#### 图片:

#### 代码块:
```python
def hello_world():
print("Hello, World!")
Markdown 基础常用标签说明
扩展和为说明的标记,可以自行查询官方文档:markdown.com.cn/basic-synta…
# markdown 标题
使用 # 号标记, 使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
# markdown 段落
markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。当然也可以在段落后面使用一个空行来表示重新开始一个段落。
---
# markdown 可以使用以下几种字体:
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
# 分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
***
* * *
*****
- - -
----------
# 删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
~~TEST.COM~~
# 下划线
下划线可以通过 HTML 的 <u></u> 标签来实现:
<u>带下划线文本</u>
# 脚注
脚注是对文本的补充说明。Markdown 脚注的格式如下:
[^要注明的文本]
创建脚注格式类似这样 [^TEST]。
[^TEST]: 123
# markdown 列表
Markdown 支持有序列表和无序列表。
无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容:
* 第一项
* 第二项
* 第三项
+ 第一项
+ 第二项
+ 第三项
- 第一项
- 第二项
- 第三项
有序列表使用数字并加上 . 号来表示,如:
1. 第一项
2. 第二项
3. 第三项
# markdown 区块
markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:
> TEST1
> TEST2
> TEST3
另外区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
# markdown 代码
如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如:
`printf()` 函数
Markdown 总结
Markdown有着很高的使用率,因为他简单易学,支持基本文本格式化和代码展示。可以轻松转换为 HTML 和 PDF。易于与版本控制系统(如 Git)集成。Markdown 作为一种轻量级标记语言,凭借其简洁的语法、广泛的支持和易于集成的特性,成为技术文档和笔记撰写的首选。随着使用需求的增加,Markdown 的变体和扩展也在不断发展,以应对不同场景的使用。
同类作品优缺点对比、应用场景对比
致谢
更多内容欢迎关注 [ 小巫编程室 ] 公众号,喜欢文章的话,也希望能给小编点个赞或者转发,你们的喜欢与支持是小编最大的鼓励,小巫编程室感谢您的关注与支持。好好学习,天天向上(good good study day day up)。
参考资料
[1]官网: markdown.com.cn/
[2]语法表: markdown.com.cn/basic-synta…